2

我创建了一个工作正常的下拉列表,它从数据库中获取数据并将其显示在下拉列表中。问题是我无法确定在选择标签中使用“选定”属性的位置。现在无论我选择哪个字段都会打开它,但在下拉列表中它会显示第一个给定的名称。我也尝试使用“选定”属性,但它显示下拉列表中的最后一个项目名称。

请检查它并指导我如何在循环中使用“选定”属性。

    <?php
    //Drop Down List
    $sub_query = "select * from sub_categories where category_id=$category_id ";
    if (!$sub_query_run = mysql_query($sub_query))
    {
        echo mysql_error();
    }
    else 
    {
        echo "<select name='menu1' id='menu1' >
              <option  value='#'> All</option> ";
        while ($sub_query_fetch = mysql_fetch_array($sub_query_run))
        {
        //$sub_query_fetch = mysql_fetch_array($sub_query_run);
        $sub_category_id2 = $sub_query_fetch['sub_category_id'];
        $sub_category_name = $sub_query_fetch['sub_category_name'];
        echo "<option value='earings2.php?sub_category_id=$sub_category_id2' >"    
                .htmlspecialchars($sub_category_name= $sub_query_fetch['sub_category_name']).       
             "</option>";   
        }
    }       
4

5 回答 5

3

按照这个例子..

<select name="cate" id="cate" class="reginput" >
<option value="">Select Category</option>
<?php $s2="select * from tbl_category order by cate_name"; 
$q2=mysql_query($s2); 
while($rw2=mysql_fetch_array($q2)) { 
?>
<option value="<?php echo $rw2['id']; ?>"<?php if($rw2['id']==$row['cate_id']) echo 'selected="selected"'; ?>><?php echo $rw2['cate_name']; ?></option><?php } ?>
</select>
于 2013-08-30T06:42:48.057 回答
1
<option value="#" selected>ALL</option>

“选定”应包含在选项标签中

于 2013-08-30T06:39:40.850 回答
1

您需要在<option>标签 中使用选择

试试这个

while ($sub_query_fetch=    mysql_fetch_array($sub_query_run))
{
//$sub_query_fetch= mysql_fetch_array($sub_query_run);
$sub_category_id2=   $sub_query_fetch['sub_category_id'];
$sub_category_name= $sub_query_fetch['sub_category_name'];

$selected = ($isSelected == $sub_category_id2) ? 'selected' : ''; should be your selected condition fetch from db

echo "<option ".$selected."
value='earings2.php?sub_category_id=$sub_category_id2' >"
.htmlspecialchars($sub_category_name= $sub_query_fetch['sub_category_name']).       
"</option>";
}
于 2013-08-30T06:41:35.110 回答
1

您必须为所选项目添加条件。

echo "<option value='earings2.php?sub_category_id=$sub_category_id2'";
if ($sub_category_id2 == $MATCHING_CATEGORY_ID) echo " selected";
echo ">".htmlspecialchars($sub_category_name= $sub_query_fetch['sub_category_name'])."</option>"; 

其中 $MATCHING_CATEGORY_ID 是要选择的类别 ID。

于 2013-08-30T06:41:53.300 回答
1

试试看,

// get the category id from request parameter
$sc_id=isset($_REQUEST['sub_category_id']) ? $_REQUEST['sub_category_id'] : "";
while ($sub_query_fetch=    mysql_fetch_array($sub_query_run))
{
    //$sub_query_fetch= mysql_fetch_array($sub_query_run);
    $sub_category_id2=   $sub_query_fetch['sub_category_id'];
    $sub_category_name= $sub_query_fetch['sub_category_name'];
    $sel='';
    if($sc_id==$sub_category_id2)// get the selected item
        $sel='selected="selected"';
    echo "<option value='earings2.php?sub_category_id=$sub_category_id2' ".$sel." >"
    .htmlspecialchars($sub_category_name= $sub_query_fetch['sub_category_name']).       
    "</option>";    
}
于 2013-08-30T06:42:04.300 回答