我想弄清楚我将如何在我的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 –