/ / Crée une division externe si le compteur est divisible par 4 - php, html, codeigniter, boucles, foreach

Créer un div externe si le compteur est divisible par 4 - php, html, codeigniter, boucles, foreach

J'ai un problème en boucle avec mes balises HTML. Mon but est de placer chaque classe sur 4 avec la classe "item" dans la classe "item-wrap". Jusqu'ici voici mon code:

$ speakers vont retourner 8 lignes afin que la classe "item-wrap" soit affichée deux fois avec 4 classes "item" à l'intérieur

<?php
$speaker_ctr = 0;
if(count($speakers) > 0){
?>
<div class="item-wrap">
<?php foreach($speakers as $speaker){ ?>
<div class="item"> <img class="lazy" data-lazy-src="/images/<?php echo $speaker["imagepath"]; ?>" />
<h5 class="txt-18 bold-font text-uppercase no-mbt mt-20"><?php echo $speaker["name"]; ?></h3>
<p class="no-mn"><?php echo $speaker["position"]; ?></p>
<a href="<?php echo $speaker["url"]; ?>" target="_blank" class="txt-14 theme no-mn"><?php echo $speaker["company"]; ?></a>
</div>
<?php } ?>
</div>
<?php
$speaker_ctr++;
}
?>

Réponses:

0 pour la réponse № 1

Essayez avec -

        $speaker_ctr = 0;
if(count($speakers) > 0){
?>
<div class="item-wrap">
<?php
foreach($speakers as $speaker){
$speaker_ctr++; // increment
?>
<div class="item"> <img class="lazy" data-lazy-src="/images/<?php echo $speaker["imagepath"]; ?>" />
<h5 class="txt-18 bold-font text-uppercase no-mbt mt-20"><?php echo $speaker["name"]; ?></h3>
<p class="no-mn"><?php echo $speaker["position"]; ?></p>
<a href="<?php echo $speaker["url"]; ?>" target="_blank" class="txt-14 theme no-mn"><?php echo $speaker["company"]; ?></a>
</div>
<?php
// print if divisible by 4
// every 4th element
if($speaker_ctr%4 == 0 && $speaker_ctr != count($speakers)) {
echo "</div><div class="item-wrap">";
}
}
?>
</div>
<?php
}

1 pour la réponse № 2

Essayez ci-dessous le code: -

<?php
if(count($speakers) > 0){

for($i=0;$i<=count($speakers);$i++){
if($i%4==0){
echo "<div class="item-wrap">";
}
?>
<div class="item"> <img class="lazy" data-lazy-src="/images/<?php echo $speakers[$i]["imagepath"]; ?>" />
<h5 class="txt-18 bold-font text-uppercase no-mbt mt-20"><?php echo $speakers[$i]["name"]; ?></h3>
<p class="no-mn"><?php echo $speakers[$i]["position"]; ?></p>
<a href="<?php echo $speakers[$i]["url"]; ?>" target="_blank" class="txt-14 theme no-mn"><?php echo $speakers[$i]["company"]; ?></a>
</div>

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

}
}