我在同一頁上的MySQL查詢之間傳遞變量時遇到問題。也許有人可以建議我做錯了什麼。我是PHP/MySQL的新手,但答案似乎非常簡單,我只是沒有看到它。以下是我有:php將值傳遞給多個select查詢
1 MySQL的:表A:
id | gene_id | protein_id | disease_id | etc
----------------------------------------------
1 | 672 | P12803 | 091312
2 | 817 | P99613 | 020346
3 | 411 | P52021 | 055823
2.搜索結果頁面。顯示結果列表。結果由[$ id]標識,並且<a href>
鏈接將[$ id]傳遞到另一頁以獲取結果詳細信息。這工作完美。
3.詳細信息頁面。我從搜索結果頁面獲取查詢結果,並顯示由[$ id]標識的表中的相關信息。這工作正常。
<?php
$sql = "SELECT * FROM Table_A
WHERE id=" . $_GET["id"];
$rs_result = mysql_query ($sql,$connect);
while ($row = mysql_fetch_assoc($rs_result)) {
?>
<table class="table">
<tr><td>Gene: </td><td><? echo $row[gene_id]; ?></td></tr>
<tr><td>Protein: </td><td><? echo $row[protein_id]; ?></td></tr>
<tr><td>Disease: </td><td><? echo $row[disease_id]; ?></td></tr>
</table>
<? } ?>
4.顯示相關數據。在詳細信息頁面上,我想使用上面查詢中的「protein_id」在同一個數據庫中顯示來自表B的相關數據。但是,這我不能去上班,到「protein_id」傳遞給下一個查詢,如下所示:
表B:
id | protein_asc | synonym | name | etc
----------------------------------------------
11 | P12803 | ABC | this |
12 | P99613 | DEF | that |
<?php
$new_id = $row[protein_id];
$sqla = "SELECT * FROM Table_B
WHERE protein_asc='".$new_id."'";
$rsa_result = mysql_query ($sqla,$connect);
while ($row = mysql_fetch_assoc($rsa_result)) {
?>
<table class="table">
<tr><td>Synonym: </td><td><? echo $row[synonym]; ?></td></tr>
<tr><td>Name: </td><td><? echo $row[name]; ?></td></tr>
</table>
<? } ?>
我已經嘗試了許多不同的方法來達到這個目的,使用加入第二個Select查詢,但似乎沒有任何工作。我知道第二個查詢是正確的,因爲如果我硬編碼「$ new_id = P12803;」那麼第二個查詢抓取數據。
任何幫助,將不勝感激。
感謝
您是否在使用兩行不同查詢的變量行? – gpicchiarelli