Requete dans une table sql

bat2408 Messages postés 329 Date d'inscription   Statut Membre Dernière intervention   -  
bat2408 Messages postés 329 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous, j'ai fais un onglet pour chercher un élément dans ma base de données. Le problème c'est que j'aimerais afficher "élément non trouvé" quand il n'existe pas dans ma bdd.



J'ai fais ce code (je cherche toutes les infos d'un client en fonction du numero de sa commande) :

<?php
	$w = $_POST['testnumbillet'];
	$reponse = $bdd-> query('SELECT civilite,nom,prenom,adresse,cpostal,ville,email FROM infos WHERE numcommande ="'.$w.'"');
	if($reponse==true){
	while($donnees = $reponse->fetch()){
		echo '<p class="statutbillet">Billet valide</p>';
		echo '<p class="infospersonne">'.$donnees['civilite'].' '.$donnees['nom'].' '.$donnees['prenom'].'</p>';
		echo '<br>';echo '<br>';echo '<br>';
		echo '<p class ="infospersonne">'.$donnees['adresse'].' '.$donnees['cpostal'].' '.$donnees['ville'].'</p>';
		echo '<br>';echo '<br>';echo '<br>';
		echo '<p class="infospersonne">'.$donnees['email'].'</p>';
	}
	$reponse->closeCursor();
	}
	
	
	else{
		echo '<p class="statutbillet2">Billet inconnu !</p>';
	}
?>



Sauf que même si le numéro (et donc le client) n'existe pas, il ne passe jamais au else, il n'affiche tout simplement rien. Je suppose que cela vient du fait que le $reponse passe à true peu importe si la requête est fructueuse ou non, mais du coup je ne vois pas comment faire pour lui dire que si il ne trouve rien, il doit passer au else.

Voilà, merci d'avance! :)
A voir également:

1 réponse

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Une solution possible est d'effectuer une première requête sql de type SELECT COUNT afin de récupérer le nombre de résultat.
Tu peux trouver un exemple expliquant cette solution ici : https://www.php.net/manual/fr/pdostatement.rowcount.php#example-1064

Bonne journée,
0
bat2408 Messages postés 329 Date d'inscription   Statut Membre Dernière intervention   88
 
Merci j'ai réussi avec un SELECT COUNT!
0