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>
<?php for($page = 1; $page <= $pages; $page++): ?>
<a href="?page=<?= $page ?>" class="page-link"><?= $page ?></a>
<?php endfor ?>
<?= ($currentPage == $pages) ? "disabled" : "" ?>
<a href="?page=<?= $currentPage + 1 ?>" class="page-link">Suivante</a>
</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