Bonjour,
voila la requête qui affiche mes données. Elle fonctionne très bien!
<?php
$L = '7';
$sql = 'SELECT * FROM fiches WHERE etatFiche = 0 AND categorieFiche = 1 ORDER BY idFiche DESC';
try{
$req = $DB->query($sql);
while($fiches = $req->fetch()) {
?>
<div class="col-12 col-sm-12 col-lg-<?php echo $L; ?> portfolio-item <?php echo $fiches['codeFiche']; ?> ">
<div class="item"><a class="portfolio-img-link " href="#">
<div class="overlay overlay-color"></div><img class="portfolio-img img-fluid " src="photos/<?php echo $fiches['idFiche']; ?>/1.jpg" alt="portfolio item photo"><i class="fas fa-arrow-right icon"></i></a>
<div class="item-info "><span class="info-title"><?php echo $fiches['titreFiche']; ?> </span>
<ul class="tags-list">
<li class="tag-item"> <a class="tag-link" href="#"><?php echo $fiches['villeFiche']; ?></a></li>
<li class="tag-item"> <a class="tag-link" href="#"><?php echo $fiches['idFiche']; ?> </a></li>
</ul>
</div>
</div>
</div>
<?php
}
}
catch (PDOException $e){
echo 'Requête SQL ratée!';
}?>
Ce que je veux
Vous voyez ma variable $L ?
J'aimerais qu'à chaque tour de boucle elle change de valeur. Qu'elle se mette à 7 si elle est à 5 et qu'elle se mette à 5 si elle est à 7 après s'être affichée. $L n'a que deux valeurs possibles: 5 ou 7.
Si le while remonte 6 réponses par exemple, j'aimerais que sur la première réponse $L = 7, puis sur la deuxième réponse que $L = 5 puis que sur la troisième réponse que $L = 7 et ainsi de suite tant qu'il y a des réponses...
Ce que j'obtiens
Malgré le visionnage des tutos de Jonathan, je ne vois toujours pas comment faire. J'ai essayé avec for et foreach mais je n'y arrive pas.
Je peux avoir un coup de pouce svp?
Merci d'avance.
Hello,
Avec le code actuel tu peux dans le while faire :
$L = '7';
while($fiches = $req->fetch()) {
$L = $L === '7' ? '5' : '7';
// Le reste du code
}
Un simple ternaire
Yeah!
Merci beaucoup ça fonctionne parfaitement. En plus, j'étais vraiment pas loin de la réponse.
Tu crois qu'on peut corser un peu la chose en ayant: 5, 7, 7, 5, 7, 7, 5 etc...?