【发布时间】:2014-07-25 20:26:36
【问题描述】:
我正在开发一个房地产网站的项目。我有一个函数,它使用 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,所以我仍然最终同样的情况。
我希望我已经足够清楚我正在尝试做什么,但如果不是,请随时向我询问更多信息。非常感激您的帮忙!谢谢!
【问题讨论】:
-
$idx > 0 && $idx % 3 == 0? -
使用 CSS 可以更轻松地完成这项工作,只需我的 2 美分。
-
嘿@Fabricator 这基本上是我之前尝试过的,但不幸的是它输出结束 div 标记并在输出其他任何内容之前打开新 div,然后正常吐出数据。它不会像我试图实现的那样每隔三个属性都这样做。
-
@Jezzabeanz,我知道这可以在 CSS 中完成,但不幸的是,我不能在这个特定网站上这样做,而不必花费 5 个小时重新设计其余部分的样式网站也是如此。这是一个现有的网站,我只需要让它与我们的 IDX 提要一起使用。