我正在为房地产网站开展项目。我有一个函数,它使用for循环从数据库中为每个可用属性获取一行数据。通常情况下,这可以很好地工作,但对于此特定站点,属性以三行显示。这意味着一旦我输出了3个属性,我需要关闭当前div并打开另一个div来显示下一行3个属性。所以基本上我需要循环识别一旦它击中三行,回声类似
</div><div class="new div">
然后回到它停止的地方。我的for循环目前看起来像这样:
function showFeaturedHomes() {
$fetcher = $this->startDataFetch();
for ($idx = 0; $idx < 30; $idx++)
{
$row = $fetcher->fetch_assoc();
if (!$row)
break;
$retVal .= $this->showBlock($row);
}
return ($retVal);
我尝试使用模数运算符(%)来检测一旦它达到3的倍数,并且看起来它似乎有效,它输出结束和打开div之前它还做其他事情,所以我仍然处于同样的境地。
我希望我能够清楚地知道自己要做什么,但如果没有,请随时向我询问更多信息。非常感激您的帮忙!谢谢!
答案 0 :(得分:1)
function showFeaturedHomes() {
echo '<div class="new div">'; // !!!
$fetcher = $this->startDataFetch();
for ($idx = 0; $idx < 30; $idx++)
{
if ($idx != 0 && $idx % 3 == 0) echo '</div><div class="new div">'; // !!!
$row = $fetcher->fetch_assoc();
if (!$row)
break;
$retVal .= $this->showBlock($row);
}
echo '</div>'; // !!!
return ($retVal);
}
我不知道你是否通过echo返回值以及showBlock做了什么,但这里的想法很清楚:)。你接近模数!最好的问候!