如何在下拉列表中显示所选项目名称?

时间:2013-08-30 06:36:21

标签: php html mysql database html-select

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

请检查并指导我如何在循环中使用'selected'属性。

    <?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>";   
        }
    }       

5 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

<option value="#" selected>ALL</option>

“selected”应包含在选项标签

答案 2 :(得分:1)

您需要在<option>代码中使用select

试试这个

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>";
}

答案 3 :(得分: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。

答案 4 :(得分: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>";    
}