简单的PHP逻辑

时间:2013-11-28 06:00:48

标签: php twitter-bootstrap

所以我暂时没有编程,但我决定解决一个小型网络应用程序以重新进入游戏。我虽然有点麻烦,但它有点烦人,因为我知道答案很简单。因此,我正在制作无数据库图像库,并且我使用Twitter Bootstrap作为前端。我想显示我使用经典引导程序行设置从目录中读取的图像,如下所示:

<div class="row">

    <div class="col-md-3 portfolio-item">
      <a href="portfolio-item.html"><img class="img-responsive" src="http://placehold.it/750x450"></a>
    </div>

    <div class="col-md-3 portfolio-item">
      <a href="portfolio-item.html"><img class="img-responsive" src="http://placehold.it/750x450"></a>
    </div>

    <div class="col-md-3 portfolio-item">
      <a href="portfolio-item.html"><img class="img-responsive" src="http://placehold.it/750x450"></a>
    </div>

    <div class="col-md-3 portfolio-item">
      <a href="portfolio-item.html"><img class="img-responsive" src="http://placehold.it/750x450"></a>
    </div>

  </div>

问题在于我只能将四张图像放入一行,所以我不能做类似的事情:

<div class="row">
<?php echo"$img";?>
</div>

我如何回应

 <div class="row">

每四个

<?php echo"$img";?>

我觉得嵌套循环可能有效,但我似乎无法得到它。

感谢。

3 个答案:

答案 0 :(得分:1)

你需要一个带索引的循环;然后你可以检查索引是否可被4整除:

if ($i % 4 == 0) {
  ?><div class="row"></div><?php
}

或者,你可以array_chunk你的数据,并在结果上运行一个嵌套循环,输出外循环中的行。

答案 1 :(得分:0)

每行

for($i=0; $i<$num_item; $i++) {

在第一个项目之前开始一个新行,在

之后开始每个第四个项目
if($i % 4 == 0) {
  echo '<div class="row">';
}

在第4项之后和

之后的每第4项结束一行
if($i % 4 == 3) {
  echo '</div>
}

完整代码:

for($i=0; $i<$num_item; $i++) {
  if($i % 4 == 0) {
    echo '<div class="row">';
  }
  // Print the item here
  if($i % 4 == 3) {
    echo '</div>
  }
}

答案 2 :(得分:0)

使用(注意冒号和结尾)处理大量的html代码时

    <?php for (index; condition; step) : ?>
        <h1>HTML STUFF</h1>
    <?php endif; ?>

替代语法比传统标记更清晰。 我建议:

    <div class="row">
    <?php for($i = 0; $i < $total_pics; $i++): ?>
        <div class="col-md-3 portfolio-item">
            <a href="<?php echo $link; ?>"><img class="img-responsive" src="<?php echo $img_link; ?>"></a>
        </div>
    <?php if ($i % 4 == 3 && $i < $total_pics): ?>
    </div>
    <div class="row">
    <?php endif; 
    endfor; ?>
    </div>

如果要显示更多图片并且仅在第四张图片之后,则仅允许新行放置。 这允许html代码根据需要缩进,并在此过程中稍微清理PHP代码。如果没有要显示的图片,这也允许初始行自动关闭。