我正在PHP中創建一個論壇。我必須在表格中顯示所有論壇類別,爲此,我使用了一個while循環。但是,我想每個表格行只有3個td。爲了遍歷類別,我在查詢中使用了一個while循環,所以我不認爲我可以在這裏使用模數。在每第三個循環之後插入tr
7
A
回答
13
爲什麼你不能使用模數?只需在某個地方添加一個計數器,並且如果它擊中% 3 == 0
重置計數器並做你的東西。
您可能需要爲第一個和最後一個以及類似的東西做一些額外的if,但沒有理由不使用模塊。
$i=0;
while(guard()){
if($i % 3 == 0){
//ploing
}
$i++
}
+0
啊,輝煌!我必須得到這個模數的東西。 – user1169875
+7
+1優秀的聲音效果... – squarecandy
2
我沒有測試的代碼,但邏輯應該工作:
<Table>
<?php
$i = 0;
while($row = mysql_fetch_array($result)){
if($i == 0){
echo"<TR>";
}
echo"<td>".$row[0]."<TD>";
$i++;
if($i == 3)
{
$i = 0;
echo"</tr>"
}
}
if($i ==1){
echo "<td></td><td></td></tr>";
}
if($i ==2)
{
echo "<td></td></tr>";
}
?>
<table>
11
此代碼將關閉任何多餘的行:
<table>
<?php
$i = 0;
while($row = mysql_fetch_array($result)){
$i++;
//if this is first value in row, create new row
if ($i % 3 == 1) {
echo "<tr>";
}
echo "<td>".$row[0]."</td>";
//if this is third value in row, end row
if ($i % 3 == 0) {
echo "</tr>";
}
}
//if the counter is not divisible by 3, we have an open row
$spacercells = 3 - ($i % 3);
if ($spacercells < 3) {
for ($j=1; $j<=$spacercells; $j++) {
echo "<td></td>";
}
echo "</tr>";
}
?>
</table>
+0
謝謝你的男人!這個社區絕對是我遇到的最有幫助的! – user1169875
相關問題
- 1. Jquery for循環在循環的每第三次迭代後寫入html
- 2. 如何添加<tr></tr>在每第四個循環項之後</td>
- 3. 如何在一個表的第一個tr之後加上tr?
- 4. 兩個循環,排除第一循環後在第二循環
- 5. 在第一個循環後插入廣告代碼
- 6. 爲什麼scanf在第一個循環之後不能輸入?
- 7. jQuery循環每三分之一
- 8. AngularJS - 在兩個TR之間插入ng-repeat到另一個TR
- 9. 對於每個循環,插入顏色
- 10. 每個循環的MS Excel:插入行
- 11. PHP循環,在除最後一個循環以外的每個循環之後添加一個逗號
- 12. 插入觸發後......循環
- 13. 在循環中每三個項目後添加div?
- 14. 雖然循環插入三次
- 15. Bash在變量或數組的每個第三個字段之後插入一個逗號(,)?
- 16. JQuery:在每個循環中獲取tr中的最後一個td
- 17. Java循環每三個在一個數組中收集第二個和第三個元素
- 18. 確定php while while循環中的每個第三項?
- 19. 每一次循環的第一次和第三次迭代
- 20. 僅爲第三個div添加元素,之後每五個div
- 21. 如何刪除第三個之後的每個{element}?
- 22. 如何在每次插入循環後打破div
- 23. 第三個for循環如何工作?
- 24. 在foreach中的每個循環之後調用一個函數?
- 25. Javascript:在每個第n個成員之後插入數組的新成員
- 26. 每個第二個中繼器循環
- 27. 將循環插入循環?
- 28. MySQL裏面for循環。插入只在第一個循環運行
- 29. 如何在第三個字符後插入連字符
- 30. 三個類之間的循環引用
告訴我們你的代碼 –
你可以使用通過在循環之前簡單地創建一個增量變量'$ i = 0',並在while循環的每次迭代中遞增'++ $ i',模運算符'%'。 – rdlowrey