PHP下拉选中

时间:2013-05-21 10:45:26

标签: php mysql drop-down-menu return-value

我有3个下拉框,从上面的一个下方填充每个下拉,但在第3个下拉,我希望它带回我选择的值。代码在

之下
<tr>
<td width="119">Category</td>

<td width="371">
   <select name="cat_id" id="cat_id" onChange="showCompany(this.value);">
   <option value="">--Select--</option>
   <?php
    $sql="select * from category";
   $sql_row=mysql_query($sql);
   while($sql_res=mysql_fetch_assoc($sql_row))
   {
   ?>
   <option value="<?php echo $sql_res["id"]; ?>" <?php if($sql_res["id"]   ==$_REQUEST     ["cat_id"]) { echo "Selected"; } ?>><?php echo $sql_res["category_name"]; ?  ></option>
    <?php
    }
   ?>
   </select>
   </td>
 </tr>

 <tr>
<td>Company</td>
<td id="td_company">
   <select name="company_id" id="company_id">;
   <option value="">--Select--</option>
   <?php
   $sql="select * from company where cat_id='$_REQUEST[cat_id]'";
   $sql_row=mysql_query($sql);
   while($sql_res=mysql_fetch_assoc($sql_row))
   {
   ?>
   <option value="<?php echo $sql_res["id"]; ?>"><?php echo $sql_res["company_name"]; ?></option>
   <?php
   }
   ?>
 </select>
   </td>
 </tr>
 <tr>

<td>Item</td>
<td id="td_item">
   <select name="item_id" id="item_id">
   <option value="">--Select--</option>
   <?php
   $sql="select * from item where comp_id='$_REQUEST[cat_id]'";
   $sql_row=mysql_query($sql);
   while($sql_res=mysql_fetch_assoc($sql_row))
   {
   ?>
   <option value="<?php echo $sql_res["id"]; ?>"><?php echo $sql_res["item_name"]; ?></option>
   <?php
   }
   ?>
</select>
   </td>
 </tr>
 <tr>
<td>Price</td>
<td id="td_item">
   <?php
   $sql="select unit_cost from item where comp_id='$_REQUEST[cat_id]'";
   $sql_row=mysql_query($sql);
   while($sql_res=mysql_fetch_assoc($sql_row))
   {
   echo "<td>" . "&pound" . $sql_res['unit_cost'] . "</td>";
   }
   ?>

   </td>
 </tr>

 <tr>
 </tr>
</table>
</form>

所以基本上我希望它从我选择的选项中带回价格,此时它会带回所有价格。

e.g。首先下拉我选择小区然后公司下拉我选择访问面板然后第3下拉他们是3项(手臂强,轨道和螺丝)它带回所有3个价格,我想能够选择一个,只带来回到那个价格。任何想法?

1 个答案:

答案 0 :(得分:0)

首先你不应该使用mysql_ *函数,它们已被弃用。查看mysqli或PDO。其次,您的代码中存在一个漏洞,您可以将$ _REQUEST直接插入到SQL中。这就是所谓的SQL注入。你应该对它进行一些阅读。

考虑到所有这些问题,您的查询是尝试选择公司ID =类别ID的所有项目。这是您的查询:

$sql="select * from item where comp_id='$_REQUEST[cat_id]'";

请注意,comp_id='$_REQUEST[cat_id]'应该是comp_id = $_REQUEST[comp_id]'吗?