我有这个代码
$query = mysql_query("SELECT * FROM my_table ORDER BY id ASC");
$i=0;
while($row = mysql_fetch_array($query)){
if ($i%2==0) {
<div class="main">
<div class="wrapper-main">
}
<article>test string1</article>
<article>test string2</article>
if ($i++%2==1) {
</div>
</div>
}
}
当结果计数是对号时,这项工作是完美的,但如果是奇数则“div”未关闭。如何解决?
我的结果必须是:
<div class="main">
<div class="wrapper-main">
<article>test string1</article>
<article>test string2</article>
</div>
</div>
<div class="main">
<div class="wrapper-main">
<article>test string1</article>
</div>
</div>
答案 0 :(得分:1)
您的第二个测试会在之前评估$i
的值,它会增加其值(您可能需要谷歌搜索“后增量”)。因此,当$i
为奇数时,您不会关闭div。当$i
是偶数时,你实际上关闭了一个不存在的div!
从
更改您的第二个测试if ($i++%2==1)
到
if ($i++%2==0)
我可以建议我的偏好(为了清晰起见):
if ($i%2==0) {
// close your divs
}
$i++;
答案 1 :(得分:0)
您可以在while循环之后添加以下内容:
if ($i%2==1) {
</div>
</div>
}