如何用SQL查詢製作嵌套SQL循環?它只返回table diskuze的一行和表odpovedi的所有行。感謝PHP - 用SQL查詢嵌套while循環
表
diskuze
:(ID_diskuze(PK),autor_diskuze,predmet_diskuze,text_diskuze,datum_cas_diskuze)表
odpovedi
:(ID_diskuze(PK-FK),hloubka_odpovedi,autor_odpovedi,text_odpovedi,datum_cas_odpovedi)
PHP:
<?php $sql = "SELECT ID_diskuze, autor_diskuze, predmet_diskuze, text_diskuze, datum_cas_diskuze
FROM diskuze";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
$ID_diskuze = $row['ID_diskuze'];
$autor_diskuze = $row['autor_diskuze'];
$predmet_diskuze = $row['predmet_diskuze'];
$text_diskuze = $row['text_diskuze'];
$datum_cas_diskuze = $row['datum_cas_diskuze']; ?>
<p>
<span style="color:rgb(204,0,0); font-weight:bold; font-size: 20px">OD: <?php echo $autor_diskuze ?></span>
<span style="color:rgb(0,0,0); font-size: 16px"> (<?php echo $datum_cas_diskuze ?>)</span><br/>
<span style="color:rgb(0,0,204); font-weight:bold; font-size: 16px">TITULEK: <?php echo $predmet_diskuze ?></span><br/>
<span style="font-weight:bold;">NAPSAL: </span><?php echo $text_diskuze ?>
</p>
<?php $sql = "SELECT hloubka_odpovedi, autor_odpovedi, text_odpovedi, datum_cas_odpovedi
FROM odpovedi
WHERE ID_diskuze = $ID_diskuze
ORDER BY hloubka_odpovedi ASC";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
$hloubka_odpovedi = $row['hloubka_odpovedi'];
$autor_odpovedi = $row['autor_odpovedi'];
$text_odpovedi = $row['text_odpovedi'];
$datum_cas_odpovedi = $row['datum_cas_odpovedi'];
$odpovidajici = $autor_odpovedi . " " . $datum_cas_odpovedi . " - " . $text_odpovedi; ?>
<p>
<span style="font-weight:bold;">REAKCE:</span> <?php echo $odpovidajici ?>
</p>
<?php
}
}
?>
我認爲MySQL的加入是你想要的.. – Tschallacka
mysql_ *功能已被棄用,請考慮使用mysqli_這裏需要一個循環和轉換您的兩個欄目查詢*或PDO。 –
使用JOIN,如:SELECT * FROM diskuze LEFT JOIN odpovedi USING(ID_diskuze)... 或使用不同的變量名稱, NO $ result = mysql_query($ sql); while($ row = mysql_fetch_array($ result)){ $ result = mysql_query($ sql); ($ row = mysql_fetch_array($ result)){ } } 但是 $ result = mysql_query($ sql); while($ row = mysql_fetch_array($ result)){ $ result2 = mysql_query($ sql2); while($ row2 = mysql_fetch_array($ result2)){ } } – immobiluser