[SQL ] 兩個有關係的SQL語法迴圈問題

看板Database作者 (Snow)時間14年前 (2011/08/11 17:20), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
程式碼如下: $sql="SELECT * FROM discuss WHERE dt_r IS NULL"; $result=mysqli_query($link,$sql); echo "<table border=1>"; while($row1=mysqli_fetch_array($result,MYSQLI_BOTH)){ //第一個SQL $dt[]=$row1["dt"]; echo "<tr><td>".$row1["dt"]."</td>"; echo "<td>".$row1["id"]."</td>"; echo "<td>".$row1["dis_title"]."</td>"; echo "<td>".$row1["dis_content"]."</td></tr>"; for($i=0;$i<=count($dt);$i++){ $sql1="SELECT * FROM discuss WHERE dt_r IS NOT NULL AND id_r IS NOT NULL AND dt_r='$dt[$i]'"; //第二個SQL ^^^^^^^^^^^^^^^ (這裡必需用到第一個SQL的$row1["dt"]) $result1=mysqli_query($link,$sql1); while($row2=mysqli_fetch_array($result1,MYSQLI_BOTH)){ echo "<tr><td>".$row2["dt"]."</td>"; echo "<td>".$row2["id"]."</td>"; echo "<td>".$row2["dis_title"]."</td>"; echo "<td>".$row2["dis_content"]."</td></tr>"; } } } echo "</table>"; 這個程式執行後它會先印出第一個SQL的所有筆資料再印出第二個SQL的所有筆資料。 我的問題是,我想要取得第一個SQL的$row1["dt"]值,然後把每一個值給第二個SQL語 法使用,但是$dt[$i]抓到的值都是第一個SQL的最後一個值,其前面的值似乎都被覆 蓋掉了,以至於第二個SQL只會抓到(假設i最大為10)$dt[10]的值,$dt[0]~$dt[9]都 抓不到,我應該怎麼改才會是先印出第一個SQL的第一筆資料再印出第二個SQL的所有 筆資料?然後再印出第一個SQL的第二筆資料和第二個SQL的所有資料?以此類推。 SQL語法使用while迴圈時是不是跟一般php用while不太一樣阿? (如果表達不清楚我再修正,麻煩各位了。) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.254.155.24
文章代碼(AID): #1EGvxxlk (Database)