Как с помощью цикла foreach сделать несколько блоков?

Столкнулся с проблемой вывода карусели в цикле foreach, конкретнее, в блоке div сейчас стоит класс "item active", этот блок нужно дублировать с помощью цикла, при этом первый блок должен быть с классом "active", а все последующие нет.

сейчас есть такой код вывода:
<div class="item active">
                <?php foreach ($get_partners as $value): ?>
                <a href="<?=$value['partner_url']?>">
                  <img src="<?=$value['partner_image']?>" />
                </a>
                <?php endforeach; ?>
              </div>


Как реализовать так, чтобы было в блоке (item) 4 элемента из БД в каждом.
  • Вопрос задан
  • 1543 просмотра
Решения вопроса 1
@BlackGhostv1 Автор вопроса
Нужную мне задачу решил так:
<?php $item_class = ' active'; //Добавляем класс active для первого блока?>
            <?php foreach (array_chunk($get_partners, 4) as $get_partners): ?>
              <div class="item<?=$item_class //Вставляем класс?>">
              <?php $item_class = ''; // убираем 'active' для следующих  ?>
                <?php foreach ($get_partners as $value): //Запускаем цикл?>
                  <a href="<?=$value['partner_url']?>" target="_blank">
                    <img src="<?=$value['partner_image']?>" alt="<?=$value['partner_alt]?>" />
                  </a>
                <?php endforeach; ?>
              </div>
            <?php endforeach; ?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
DrunkMaster
@DrunkMaster
Тут надо использовать for цикл и если в нём $i = 0 то класс active а если не то другой класс
Ответ написан
Комментировать
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
<?php 
$i = 1;
foreach ($get_partners as $value): 
$class = "item"; 
if($i == 1)
$class = "item active"; 
?>
    <div class="<?=$class?>">
                <a href="<?=$value['partner_url']?>">
                  <img src="<?=$value['partner_image']?>" />
                </a>
    </div>
<?php if($i >= 5){break;} ?>
<?php endforeach; ?>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы