我想弄清楚我將如何在我的while語句中做一個foreach語句。正如你可以通過這段代碼所說的那樣,即使它選擇了所有的行,它也只會從表中提交1行。我將如何讓它選擇每一行?雖然聲明(NumRows)內的Foreach
代碼:
$q2 = mysql_fetch_array(mysql_query("SELECT * FROM `ticketreply` WHERE `ticketid`='$id'"));
$num_rows = mysql_num_rows($q2);
while(count($num_rows) > $i){
echo "<div style='float:left;width:940px;margin-bottom:2%;margin-left:".($i + 1)."0px;margin-right:25%;'><div style='margin-left:".($i + 1)."0px;border:1px solid #cecece;padding:10px;'>Posted By: <a href='#'>".user2($q2[1])."</a><h2>".$q2[2]."</h2></div></div></div>";
$i++;
}
新嘗試:
$q2 = mysql_query("SELECT * FROM `ticketreply` WHERE `ticketid`='$id'");
$i = 0;
foreach($q2 as $s){
echo "<div style='float:left;width:100%;margin-bottom:2%;margin-left:".($i + 1)."0px;margin-right:25%;'><div style='margin-left:".($i + 1)."0px;border:1px solid #cecece;padding:10px;'>Posted By: <a href='#'>".user2($s[1])."</a><h2>".$s[2]."</h2></div></div></div>";
$i++;
}
雖然現在這個不顯示任何行。
首先儘量避免使用'mysql_ *'函數。而不是使用php中的'mysqli_ *'函數> 5.3 – krishna
你看到foreach嗎?或者我錯過了什麼? –
mysql_fetch_array不會返回數組中的所有結果。它返回一行,每次你再次運行它將返回下一行。 你檢查了PHP手冊嗎?示例#2向您展示瞭如何使用這些功能。 http://php.net/manual/en/function.mysql-fetch-array.php –