[RESOLU] Problème affichage dans une boucle

Mammouth du PHP | 643 Messages

08 juin 2019, 23:14

Salut tout le monde,
Voilà j'ai une requete qui me permet de récuperer tous mes éléments que je classe ensuite selon le critère valide.
Ma requete et ma boucle fonctionne, cependant j'ai quelque chose que je ne comprends pas c'est que la première entrée n'apparait pas.
En testant la Requete dans PMA pas de problème et je fait un cout sur la req pas de problème j'ai bien le compte, du coup je pense que le soucis viens de la boucle mais où...

Du coup dans ma bdd en fait la première entrée est comme si elle était ignoré peut importe que valide soit 1 ou 0
Ma requete de base:
$site_membre = $bdd->prepare("SELECT * FROM siteweb WHERE id_membre =:id_membre ORDER BY valide");
$site_membre->bindParam(':id_membre', $id_membre, PDO::PARAM_INT);
$site_membre->execute();
$row = $site_membre->fetch(PDO::FETCH_ASSOC);
J'ai testé un count en requete pour voir
$sql = $bdd->prepare("SELECT * FROM siteweb WHERE id_membre =:id_membre AND valide = 0");
$sql->bindParam(':id_membre', $id_membre, PDO::PARAM_INT);
$sql->execute();
$nb_de_site_valide= $sql->rowCount();
Le while permettant d'affiché mes entrées:
<?php
				// Si il y a minimum 1 site de Publié
				if($site_membre->rowCount() > 0) {	
					while($liste_site_membre = $site_membre->fetch(PDO::FETCH_ASSOC)){  
						
						// Traitement pour le statut du site
						if($liste_site_membre['valide'] == 0) {	
							$statut = '<li><span class="btn-wait">En attente</span></li>';
							$message_statut = '<em>Site en cours de validation</em>';
							
							
						}else{
							$statut = '<li><a href="#0" class="btn-success">Site validé</a></li>';
							$message_statut = '<li><a href="fiche-'.simplification($liste_site_membre['sous_categorie']).'-'.simplification($liste_site_membre['nom_site']).'-'.$liste_site_membre['id_site'].'.html"><span class="pe-7s-right-arrow"></span></a></li>';
						}
						// End Traitement pour le statut du site						
						
					echo '<div class="review_card">
						<div class="row">
							<div class="col-md-2 user_info">
								<img class="img-fluid" src="vignette/'.$liste_site_membre['nom_site'].'.jpg" alt="miniature du site '.$liste_site_membre['nom_site'].'">
							</div>
							<div class="col-md-10 review_content">
								<h4><a href="fiche-'.simplification($liste_site_membre['sous_categorie']).'-'.simplification($liste_site_membre['nom_site']).'-'.$liste_site_membre['id_site'].'.html">'.$liste_site_membre['nom_site'].'</a></h4>
								<p>'. ucfirst(strtolower(stripslashes(cutTexte($liste_site_membre['description_site'], 300, '...')))).'</p>
								<ul>
									'.$statut.'
									'.$message_statut.'
								</ul>
							</div>
						</div>
					</div>';
					}
				}else{
					echo'Vous n\'avez pas encore publiez ';
				}
				?>
Merci pour le coup de pouce
EDIT:
Je vien d'essayer en minimisant ma boucle et requete mais meme probleme:
<?php
				$site_membre = $bdd->prepare("SELECT * FROM siteweb WHERE id_membre =:id_membre");
				$site_membre->bindParam(':id_membre', $id_membre, PDO::PARAM_INT);
				$site_membre->execute();
				$row = $site_membre->fetch(PDO::FETCH_ASSOC);
	
					while($liste_site_membre = $site_membre->fetch(PDO::FETCH_ASSOC)){  
					    echo $liste_site_membre['nom_site'];
					}
?>

Mammouth du PHP | 2703 Messages

09 juin 2019, 00:39

cela vient de
$row = $site_membre->fetch(PDO::FETCH_ASSOC);
le premier résultat est dans $row et rien n'est fait de $row.

Mammouth du PHP | 643 Messages

09 juin 2019, 08:59

Sérieux.....mouarf un copié collé de trop, j'étais trop dessus je ne l'avais même pas vu.
Merci