如何显示/获取数据库中的第2列值不在选择选项中显示?

时间:2015-07-29 13:11:29

标签: php mysql

我有通过select选项显示的表查询。列1的值显示在其上。当我从第1列中选择第1行时,我也希望第2列的值自动显示,我该如何编码呢?​​

示例:medicinename(column1)= medicineprice(column2)

medicinename位于选择选项中。 medicineprice不是。{1}}。我只想在每次选择medicinename时自动显示价格。

<div class="col-md-3"><label><h5>Medicine Name : </h5>
<select name="selectmedicine" class="form-control col-sm-4" id="medicinename" style="width:200px">
    <option id="0" style="width:100px"> Select here...</option>
        <?php
            require_once 'config.php';
            $medicine = mysql_query("SELECT * FROM medicine");
            while ($displaymedicine = mysql_fetch_array($medicine)) {
            $medicineid = $displaymedicine['id'];
            $medicinename = $displaymedicine['medicinename'];
            $medicineprice = $displaymedicine['medicineprice'];
        ?>

        <option id="<?php echo $displaymedicine['medicineid']; ?>"><?php if($displaymedicine ['medicineid'] == $displaymedicine ['medicinename']) echo 'selected="selected"'; ?><?php echo $displaymedicine ['medicinename'] ?></option>            

        <?php 
        }
        ?>
</select>

1 个答案:

答案 0 :(得分:0)

您是否想要在选择药物名称时将药品价格退还给PHP脚本?在这种情况下,您需要在value=""标记中添加<option属性。返回到脚本的是value=""的内容,即如果从<select name="selectmedicine">

中选择了此选项
<option value="999"...>Penicillin</option>

然后PHP会收到$ _POST ['selectmedicine'],其中包含999

<div class="col-md-3"><label><h5>Medicine Name : </h5>
<select name="selectmedicine" class="form-control col-sm-4" id="medicinename" style="width:200px">
    <option id="0" style="width:100px"> Select here...</option>
<?php

    require_once 'config.php';

    $medicine = mysql_query("SELECT * FROM medicine");
    while ($row = mysql_fetch_array($medicine)) {
        echo '<option id="' . $row['medicineid']  . '"';
        echo ' value="' . $row['medicineprice'] . '"';
        if($row['medicineid'] == $row['medicinename']) {
           echo ' selected="selected"'; 
        }
        echo '>';
        echo $row['medicinename'];
        echo '</option>'            
    }
?>
</select>

当然,更好的解决方案是将ID表的唯一medicine放入value=""属性中。然后,当表单发布到您的PHP脚本时,您将读取该行的数据库,并且您可以获得与该脚本相关的所有数据。

那就是

<div class="col-md-3"><label><h5>Medicine Name : </h5>

<select name="selectmedicine" class="form-control col-sm-4" id="medicinename" style="width:200px">

    <option id="0" style="width:100px"> Select here...</option>


<?php

    require_once 'config.php';

    $medicine = mysql_query("SELECT * FROM medicine");
    while ($row = mysql_fetch_array($medicine)) {
        echo '<option id="' . $row['medicineid']  . '"';

> changed code line
        echo ' value="' . $row['id'] . '"';
> changed code line

        if($row['medicineid'] == $row['medicinename']) {
           echo ' selected="selected"'; 
        }
        echo '>';
        echo $row['medicinename'];
        echo '</option>'            
    }
?>