У меня возникли проблемы с передачей переменной между MySQL-запросами на той же странице. Может быть, кто-то может посоветовать, что я делаю неправильно. Я новичок в PHP/MySQL, но ответ кажется очень легким, я просто этого не вижу. Вот что у меня есть:Значение php pass для нескольких запросов выбора
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. Показать связанные данные. На странице сведений я хочу показать связанные данные из таблицы B в той же базе данных, используя «protein_id» из запроса выше. Но это я не могу работать, чтобы передать «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