Page 1 sur 1

ajouter un if avec foreach

Posté : 11 mars 2021, 09:39
par 53pierre
bonjour a tous

j ai une table ou il y une colonne valider qui me permet de contrôler et de valider les commentaires qui me sembles publiable

donc si j ai 0 dans la colonne de ma table mysql , je ne veux pas que le commentaire soit publie

je souhaiterais donc mettre une condition dans ce code pour que les colonnes avec valider sur 1 soit affichée

merci de l aide

Code : Tout sélectionner

<table class="t2"> <?php foreach($monsite as $commentaire ) { ?> <tr> <td width=25%><?= $commentaire['pseudo'] ?></td> <td width=25%><?= $commentaire['message'] ?></td> <td width=25%><?= $commentaire['date_enregistrement'] ?></td> <td width=25%><?= $commentaire['valider'] ?></td> </tr> <?php } ?> </table>

Re: ajouter un if avec foreach

Posté : 11 mars 2021, 09:41
par Spols
Le mieux est de gérer cela à la requète.

mais sinon in if($commentaire['valider'] == 0) continue; fera l'affaire

Re: ajouter un if avec foreach

Posté : 11 mars 2021, 11:53
par 53pierre
bonjour
merci pour la reponse et la solution
cette condition je dois l indiquer a quel endroit ?
j ai essaye comme ceci
mais cela ne semble pas être supporté par la pagination

Code : Tout sélectionner

<table class="t2"> <?php foreach($crud as $commentaire){if($commentaire['valider'] == 0) continue; ?> <tr> <td width=25%><?= $commentaire['pseudo'] ?></td> <td width=25%><?= $commentaire['message'] ?></td> <td width=25%><?= $commentaire['date_enregistrement'] ?></td> <td width=25%><?= $commentaire['valider'] ?></td> </tr> <?php } ?> </table>

Re: ajouter un if avec foreach

Posté : 11 mars 2021, 12:01
par 53pierre
j ai essaye en mettant une condition dans la requete mais cela ne semble pas fonctionner

Code : Tout sélectionner

$resultat = $mysqli->query("SELECT pseudo, message, DATE_FORMAT(date_enregistrement, '%d/%m/%Y') AS datefr, DATE_FORMAT(date_enregistrement, '%H:%i:%s') AS heurefr FROM commentaire WHERE valider = 1 ORDER BY date_enregistrement DESC"); $contenu .= '<h2>' . $resultat->num_rows . ' commentaire(s)'; ?> <div class="commentaire"><?php echo $contenu; ?></div> <div id="logo"> </div> <h1> Sorties de pêche</h1> <nav> <a href="?page=<?= $currentPage - 1 ?>" class="page-link">Précédente</a>&nbsp; <?php for($page = 1; $page <= $pages; $page++): ?>&nbsp; <a href="?page=<?= $page ?>" class="page-link"><?= $page ?></a>&nbsp; <?php endfor ?> <?= ($currentPage == $pages) ? "disabled" : "" ?>&nbsp; <a href="?page=<?= $currentPage + 1 ?>" class="page-link">Suivante</a>&nbsp; </nav> <table class="t1"> <thead> <th width=25%> pseudo</th> <th width=25% > message </th> <th width=25%>date enregistrement </th> <th width=25%>valider </th> </thead> </table> <table class="t2"> <?php foreach($crud as $commentaire){ ?> <tr> <td width=25%><?= $commentaire['pseudo'] ?></td> <td width=25%><?= $commentaire['message'] ?></td> <td width=25%><?= $commentaire['date_enregistrement'] ?></td> <td width=25%><?= $commentaire['valider'] ?></td> </tr> <?php } ?> </table>

Re: ajouter un if avec foreach

Posté : 11 mars 2021, 12:50
par Spols
assure toi que ta colonne s'appelle bien valider. test ta requète sur phpmyadmin pour la mettre au point

maintenant que je vois un peu plus de code, il est évident qu'il vaut mieux travailler sur la requète

Re: ajouter un if avec foreach

Posté : 11 mars 2021, 13:19
par 53pierre
merci pour l aide
en fait je me suis embrouille les pinceaux avec mes tables donc fonctionne a merveille a present
encore merci