2013-05-21 212 views
2

我有3個下拉框,填充從上面的每個下拉列表中,但在第三個下拉列表中,我希望它能夠帶回我選擇的值。代碼如下PHP下拉選擇

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

所以基本上我希望它帶回我從選擇的選項,價格在其帶回所有的價格的那一刻。

例如首先下拉我選擇細胞,然後公司下拉我選擇訪問面板,然後第三下拉他們是3項(手臂強,跟蹤和螺桿),它帶回所有3價格,我想能夠選擇一個,只有帶回到那個價格。有任何想法嗎?

回答

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