从下拉列表中检索错误的数据MYSQL PHP


Retrieve Wrong Data from Drop Down List MYSQL PHP

我是初学者,请耐心等待。

基本上,我试图从下拉列表中获取选定的值,但结果并不是我所期望的。

当我更换品牌时,它是第一次起作用。但这已经是第二次了。当涉及到第三次更改时,它是有效的,但具有第二个值。

例如,

<select name="brand">  
    <option value="">-Select-</option>  
    <option value="1">Brand 1</option>  
    <option value="2">Brand 2</option>  
    <option value="3">Brand 3</option>  
</select>  

第一次:选择"品牌1"并保存-结果:"品牌1"
第2次:选择"品牌2"并保存-结果:"品牌1"
第三次:选择"品牌3"并保存-结果:"品牌2"

我的代码如下所示。不确定我做错了什么。这几天我一直在想办法。

<?php if (isset($_POST['submit_button'])){
     $brand= $_POST['brand'];
     mysql_query("UPDATE project_brand_table SET brand_id='$brand' where project_id='".$_GET['sub_menu']."'");
} ?>
<html>
    <body>
    <?php $results=mysql_query("SELECT * FROM brands_table order by brand_name ASC"); ?>
    <select name="brand">
        <option value="">-Select-</option>
        <?php while($page1 = mysql_fetch_array($results)) { ?> 
            <option value="<?php echo $page1['id'] ?>"><?php echo $page1['brand_name'] ?></option>
        <?php } ?>
    </select>
    </body>
</html>

抱歉我英语不好。

您编写的代码很好。请告诉我们您在哪里获得$_GET['sub_menu']值。我认为它得到了错误的值,这就是它更新错误值的原因。有一件事请在使用的die();函数更新数据库之前检查值

$brand= $_POST['brand'];

$brand值是否正确。。

考虑下面的例子

  1. 首先检查$brand= $_POST['brand'];中的值,然后将选定的属性添加到选项中

<select class="sele" id="t10" name="occ" >      
        <option value=""  >-choose-</option>
        <option value="Student"         <?if($arr[7]=="Student")    echo 'selected="true"';?>       >Student</option>
        <option value="Self Employee"   <?if($arr[7]=="Self Employee") echo 'selected="true"'; ?>   >Self Employee</option>
        <option value="Business"        <?if($arr[7]=="Business") echo 'selected="true"'; ?>        >Business</option>
        <option value="Govt. employee"  <?if($arr[7]=="Govt. employee") echo 'selected="true"'; ?>  >Govt. employee</option>
        <option value="Farmer"          <?if($arr[7]=="Farmer") echo 'selected="true"'; ?>          >Farmer</option>
        <option value="Merchant"        <?if($arr[7]=="Merchant") echo 'selected="true"'; ?>        >Merchant</option>
</select>

在上面的例子中,我使用了if条件来检查并显示与$arr[7] 匹配的选择框中的内容

希望这对你有帮助。。对进一步更改发表评论。。。