简体   繁体   English

检索值并将其显示在php的选择选项框中

[英]Retrieving a value and displaying it in a select option box in php

I am trying to retrieve a stored value from database and show it in a select option box. 我试图从数据库中检索存储的值,并将其显示在选择选项框中。 My problem is it's showing the first value as selected. 我的问题是它显示所选的第一个值。 my code is 我的代码是

$query = "SELECT * FROM bookwizard.book_inventory where bi_SKU='$SKU'";
$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result))

{
    $bid=($row{'bi_bookcondition_id'});
}

<select class='form-control' id='condition' name='condition'>
    <option value='' <?php if (!empty($bid) && $bid == '' ) echo 'selected = 'selected'; ?> </option>      
    <option value='1' <?php if (!empty($bid) && $bid == '1')  echo 'selected = 'selected'; ?>Good</option>
    <option value='2' <?php if (!empty($bid) && $bid == '2')  echo 'selected = 'selected'; ?>Old</option>
    <option value='3' <?php if (!empty($bid) && $bid == '3')  echo 'selected = 'selected'; ?>Bad</option>
</select>

Thanks for helping. 感谢您的帮助。

You have missed to close the options. 您错过了关闭选项的机会。 As well as if conditions are having error. 以及if条件具有错误。

Replace your selectbox code as below : 替换您的选择框代码,如下所示:

<select class='form-control' id='condition' name='condition'>
    <option value='' <?php if (!empty($bid) && $bid == '' ) echo "selected = 'selected'"; ?>></option>
    <option value='1' <?php if (!empty($bid) && $bid == '1')  echo "selected = 'selected'"; ?>>Good</option>
    <option value='2' <?php if (!empty($bid) && $bid == '2')  echo "selected = 'selected'"; ?>>Old</option>
    <option value='3' <?php if (!empty($bid) && $bid == '3')  echo "selected = 'selected'"; ?>>Bad</option>
</select>
<?php    
$query = "SELECT * FROM bookwizard.book_inventory where bi_SKU='$SKU'";
    $result = mysql_query($query) or die(mysql_error());

    while($row = mysql_fetch_array($result))

    {
        $bid=($row{'bi_bookcondition_id'});
    ?>
    <select class='form-control' id='condition' name='condition'>
        <option value='' <?php if(!empty($bid) && $bid == '' ){echo 'selected=selected';}?> ></option>      
        <option value='1' <?php if (!empty($bid) && $bid == '1'){echo 'selected=selected';} ?>>Good</option>
        <option value='2' <?php if (!empty($bid) && $bid == '2'){ echo 'selected=selected';} ?>>Old</option>
        <option value='3' <?php if (!empty($bid) && $bid == '3'){ echo 'selected=selected';} ?>>Bad</option>
    </select>
<?php }?>

use this select option. 使用此选择选项。

Replace your code with this :

 <?php    
    $query = "SELECT * FROM bookwizard.book_inventory where bi_SKU='$SKU'";
        $result = mysql_query($query) or die(mysql_error());

        while($row = mysql_fetch_array($result))

        {
            $bid=($row{'bi_bookcondition_id'});
        ?>



    <select class='form-control' id='condition' name='condition'>
            <option value='' <?php if(!empty($bid) && $bid == '' ){echo 'selected=selected';}?> ></option>      
            <option value='1' <?php if (!empty($bid) && $bid == '1'){echo 'selected=selected';} ?>>Good</option>
            <option value='2' <?php if (!empty($bid) && $bid == '2'){ echo 'selected=selected';} ?>>Old</option>
            <option value='3' <?php if (!empty($bid) && $bid == '3'){ echo 'selected=selected';} ?>>Bad</option>
        </select>
    <?php }?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM