繁体   English   中英

从下拉列表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”并保存-结果:“品牌1”
第3次:选择“品牌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();更新数据库之前执行该检查值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]相匹配的选择框中显示内容。

希望这对您有所帮助。

暂无
暂无

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

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