Pas de résultat lorsqu'il n'existe pas en bdd
Résolu/Fermé
ismael-ouatt
Messages postés
78
Date d'inscription
mercredi 18 novembre 2015
Statut
Membre
Dernière intervention
26 juillet 2018
-
23 nov. 2016 à 16:33
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 - 28 nov. 2016 à 14:56
nagaD.scar Messages postés 4272 Date d'inscription samedi 8 septembre 2007 Statut Membre Dernière intervention 4 janvier 2023 - 28 nov. 2016 à 14:56
A voir également:
- Pas de résultat lorsqu'il n'existe pas en bdd
- Évariste souhaite télécharger le logiciel libreoffice depuis le site de son éditeur. sélectionnez le résultat de recherche sur lequel il doit cliquer. ✓ - Forum Windows Vista
- Lexer resultat - Télécharger - Sport
- Gmail.fr existe ✓ - Forum Gmail
- Element introuvable il n'existe plus dans l'ordinateur - Guide
- Évariste souhaite télécharger le logiciel 7-zip depuis le site de son éditeur. sélectionnez le résultat de recherche sur lequel il doit cliquer. - Forum Compression
2 réponses
xpress22
Messages postés
52
Date d'inscription
mardi 27 novembre 2007
Statut
Membre
Dernière intervention
26 novembre 2016
37
23 nov. 2016 à 16:38
23 nov. 2016 à 16:38
nagaD.scar
Messages postés
4272
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 janvier 2023
252
Modifié par nagaD.scar le 23/11/2016 à 15:35
Modifié par nagaD.scar le 23/11/2016 à 15:35
Salut,
J ai juste regardé vite fait, mais cette partie n est pas bonne: si le fetch marche, c'est que tu as un résultat.
Donc il faut sortir le vérification du count:
naga
$count=$rech->rowCount(); while($result=$rech->fetch()) { //echo $result['nom_equipement']; /*switch($count) { case 0: header ('Location:operation.php'); break; case 1: header ('Location:etalonnagey.php'); break; default; header ('Location:operation.php'); }*/ if($count>=1) { /*echo $count.' résultats trouvé'; echo 'Cette valeur existe en base de données'; echo $result['nom_equipement'];*/ header ('Location:etalonnagey.php'); } else//Si cette valeur n'existe pas en base de données { /*echo $count.' résultat trouvé'; echo 'Cette valeur n\'existe pas en base de données';*/ header ('Location:operation.php'); } }
J ai juste regardé vite fait, mais cette partie n est pas bonne: si le fetch marche, c'est que tu as un résultat.
Donc il faut sortir le vérification du count:
$count=$rech->rowCount(); if($count>=1) { while($result=$rech->fetch()) { header ('Location:etalonnagey.php'); } } else//Si cette valeur n'existe pas en base de données { header ('Location:operation.php'); }
naga
ismael-ouatt
Messages postés
78
Date d'inscription
mercredi 18 novembre 2015
Statut
Membre
Dernière intervention
26 juillet 2018
1
23 nov. 2016 à 16:49
23 nov. 2016 à 16:49
ok merci ça marche
ouff
ouff
nagaD.scar
Messages postés
4272
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 janvier 2023
252
23 nov. 2016 à 16:50
23 nov. 2016 à 16:50
pas de soucis bon dev.
naga
naga
ismael-ouatt
Messages postés
78
Date d'inscription
mercredi 18 novembre 2015
Statut
Membre
Dernière intervention
26 juillet 2018
1
23 nov. 2016 à 16:54
23 nov. 2016 à 16:54
merci
jordane45
Messages postés
38264
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
31 octobre 2024
4 694
Modifié par jordane45 le 23/11/2016 à 19:59
Modifié par jordane45 le 23/11/2016 à 19:59
Bonjour,
Par contre... NE PAS UTILISER ROWCOUNT
Le résultat n'est pas garanti pour des requêtes de type SELECT
Dans le manuel PHP il est indiqué :
A la place... tu peux faire un fetchAll et faire un count (php) dessus
Par contre... NE PAS UTILISER ROWCOUNT
Le résultat n'est pas garanti pour des requêtes de type SELECT
Dans le manuel PHP il est indiqué :
Si la dernière requête SQL exécutée par l'objet PDOStatement associé est une requête de type SELECT, quelques bases de données retourneront le nombre de lignes retournées par cette requête. Néanmoins, ce comportement n'est pas garanti pour toutes les bases de données et ne devrait pas être exécuté pour des applications portables.
A la place... tu peux faire un fetchAll et faire un count (php) dessus
//recuperation propre des variables AVANT de les utiliser $GIT = !empty($_POST['numGIT']) ? $_POST['numGIT'] : NULL; //Preparation de la requete $sql = "SELECT * FROM equipement WHERE code_git LIKE ?"; $datas = array($git); //exécution de la requete : $rech=$bdd->prepare($sql); $rech->execute($datas); //On stocke le resultat dans un array $resultat = $rech->fetchAll(); //on regarde combien de résultats sont retournés par la requete $count = !empty($resultat ) ? count($resultat ) : 0; //on teste si il y a eu des resultats if($count >0 ){ //la valeur existe header ('Location:etalonnagey.php'); exit(); }else{ //pas de resultat header ('Location:operation.php'); exit() ; //toujours mettre un exit apres une redirection }
ismael-ouatt
Messages postés
78
Date d'inscription
mercredi 18 novembre 2015
Statut
Membre
Dernière intervention
26 juillet 2018
1
24 nov. 2016 à 00:31
24 nov. 2016 à 00:31
Ok grand merci à vous jordane45 pour cet additif !