Извините за заголовок вопроса. Я действительно не знал, как лучше всего описать это в коротком предложении.
В принципе, я хочу прокрутить каждое из своих изображений и отобразить их. Однако, делая это, я сделал следующее:
<div class="row">
<div class="col-sm-4">
<img .../>
</div>
<div class="col-sm-4">
<img .../>
</div>
<div class="col-sm-4">
<img .../>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<img .../>
</div>
<div class="col-sm-4">
<img .../>
</div>
<div class="col-sm-4">
<img .../>
</div>
</div>
Потому что для моего дизайна может быть только 3 столбца подряд, это отлично работает. Однако теперь, если я хочу сделать это в php, мне нужно проверить кол-во цикла. Если его кратное показание 3
<div class="row">
и если его кратное 3 + 1, то показать
</div>
для закрытия строки.
Есть ли способ, которым я могу сделать разметку, выглядеть так же, как в примере выше, но используя этот html ниже:
<div class="row">
<div class="col-sm-4">
<img .../>
</div>
<div class="col-sm-4">
<img .../>
</div>
<div class="col-sm-4">
<img .../>
</div>
<div class="col-sm-4">
<img .../>
</div>
<div class="col-sm-4">
<img .../>
</div>
<div class="col-sm-4">
<img .../>
</div>
</div>
Его просто заставляя мою оценку выглядеть очень грязно. Есть ли лучший способ в bootstrap сделать это без использования php?
благодаря
Вы хотите включить условия в свой цикл PHP, чтобы PHP знал, когда добавить в row
.
Ниже я изложил непроверенный набор PHP-кода, который, надеюсь, объяснит, где вы ошибетесь.
<?php
$images = array(...);
$images_per_row = 3;
// Here is where we determine how the images
// should be divided into the rows.
$total_images = count($images);
$total_rows = ceil($total_images / $images_per_row);
// Loop through each 'row'
for ($row=0; $row<$total_rows; $row++)
{
// Open the 'row'
echo '<div class="row">';
// We have an 'offset' to avoid displaying the same image
// multiple times in the loop.
$offset = $row * $images_per_row;
// Loop through each 'col-sm-4' and 'img'
for ($i=0; $i<$images_per_row; $i++)
{
echo '<div class="col-sm-4">';
echo "<img src='{$images[$offset + $i]}' />";
echo '</div>';
}
// Closing the 'row'
echo '</div>';
}
Существует множество способов сделать это. Вы даже можете сделать все это в рамках одного цикла, если вы используете правильные условия в цикле.
Дело в том, что вам нужен способ рассказать PHP "Эй, нам нужно разделить все это на треть, иначе мы никогда не сможем это сделать".
Сторожевая заметка, PHP + HTML - очень уродливый брак. Пожалуйста, избегайте его любой ценой (если у вас всего 10 минут, и вы пытаетесь помочь кому-то в переполнении стека).