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

时间:2014-10-16 07:20:25

标签: php mysql html.dropdownlistfor

我是初学者所以请耐心等待。

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

当我改变品牌时,它第一次起作用。但它第二次不起作用。当第三次改变时,它可以工作,但具有第二个值。

例如,

<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>

抱歉我的英语不好。

2 个答案:

答案 0 :(得分:0)

你写的代码很好。请告诉我们您在哪里获得$_GET['sub_menu']价值。我认为它的错误价值就是为什么它更新错误的价值。有一件事请在使用die();函数

更新数据库之前检查值
$brand= $_POST['brand'];

$brand值是否正确..

答案 1 :(得分:0)

请考虑以下示例

  1. 首先检查$brand= $_POST['brand'];中的值,然后将选定的属性添加到您的选项
  2. <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]匹配的内容

    希望这有助于你......评论进一步的变化......