這是我的代碼:如何在每5個結果後插入<br/>?
$query = mysql_query("SELECT * FROM books ORDER BY id") or die(mysql_error());
while($row = mysql_fetch_assoc($query)) {
echo $row["bookname"]." - ";
}
如何使僅5中的每一行顯示的書籍,在開始插入
如果行是5或10或15等...
謝謝
這是我的代碼:如何在每5個結果後插入<br/>?
$query = mysql_query("SELECT * FROM books ORDER BY id") or die(mysql_error());
while($row = mysql_fetch_assoc($query)) {
echo $row["bookname"]." - ";
}
如何使僅5中的每一行顯示的書籍,在開始插入
如果行是5或10或15等...
謝謝
你可以保持循環次數(每次增加一個變量)。
比較值模數5.如果結果爲0輸出的
$rowCounter = 1;
while($row = mysql_fetch_assoc($query)) {
echo $row["bookname"]." - ";
if($rowCounter % 5 == 0) {
echo "<hr />";
}
$rowCounter++;
}
一個簡單的辦法是有一個計數器增量...並檢查它的MOD(%)與5
所以
if (i % 5 == 0) echo $row["bookname"];
$query = mysql_query("SELECT * FROM books ORDER BY id") or die(mysql_error());
$counter=1;
while($row = mysql_fetch_assoc($query)) {
echo $row["bookname"]." - ";
if($counter%5==0){echo "<br/>";}
$counter++;
}
較短版本的邁克爾代碼:
$rowCounter = 0;
while ($row = mysql_fetch_assoc($query)) {
echo $row["bookname"] . ' - ';
if (++$rowCounter % 5 == 0) {
echo '<br />';
}
}
又一替代:
$rowCounter = 1; // not sure if this should be 1 or 0
// 1 is correct, check comments
while ($row = mysql_fetch_assoc($query)) {
echo $row["bookname"] . ' - ';
if ($rowCounter++ % 5 == 0) {
echo '<br />';
}
}
michaels代碼的優化版本! :)
$rowCounter = 0;
$possibleHR = array("","","","","<hr/>");
while($row = mysql_fetch_assoc($query)) {
echo $row["bookname"]." - ".$possibleHR[($rowCounter++) % 5];
}
你想開始你的第二個例子爲零,因爲你在評估它之前遞增它。 – 2010-04-19 05:56:14
@Michael:不是,請查看http://ideone.com/goPDH爲0,http://ideone.com/sTiq1爲1. =)前/後增量操作符有時可能會非常棘手。 – 2010-04-19 07:26:09