2012-03-16 119 views
0

我有3個鏈選擇框從表中的同一行數據返回三個值:$ drop,$ drop_2和$ drop_3,我想運行一個mysql查詢返回一個來自表中該行另一列的值。我可以直接將值「回顯」到頁面,但我想使用數組值來在「while」循環中從不同的表中生成匹配結果。我有以下設置,如果有人可以告訴我爲什麼它不起作用,將不勝感激!根據完成的搜索搜索mysql數據庫

<h1>Search Results</h1> 

<table> 
<tr> 
<th>Name</th> 
<th>Number</th> 
<th>Description</th> 
</tr> 

<?php 

$search_results = mysql_query("SELECT id_sensor FROM vehicles_new WHERE make='$drop' AND model='$drop_2' AND year='$drop_3'"); 

while($result = mysql_fetch_array($search_results)){   

    echo $result['id_sensor']; //This is displaying the value I need to use in the next query 
    ?> 

<?php 

$sql = mysql_query("SELECT * FROM products WHERE id='$result'"); 

    while($row = mysql_fetch_assoc($sql)){ 
?> 
    <tr> 
    <td><?php echo $row['id']; ?></td> 
    <td><?php echo $row['part_id']; ?></td> 
    <td><?php echo $row['description']; ?></td> 
    </tr> 
<?php 
    } 
?> 

    <?php 
    } 
?> 
</table> 

由於提前,喬

回答

2

改變這種

$sql = mysql_query("SELECT * FROM products WHERE id='$result'"); 

這個

$sql = mysql_query("SELECT * FROM products WHERE id='" . $result['id_sensor'] . "'"); 
+1

瓦迪姆是正確的。話雖如此,至少在查詢中使用準備好的語句以幫助防止SQL注入將是明智的。我還建議將PHP代碼移入單獨的文件並通過函數或對象調用它。 – Marshmellow1328 2012-03-16 01:46:11

+0

Vadim Baryshev&@ Marshmellow1328謝謝你,兩人合作!我的php/sql知識相當稀少,幾天前纔開始使用它,你知道我可以學習如何創建準備好的語句和函數嗎?再次感謝喬 – JoeP 2012-03-16 10:34:33