Selectionner seulement les valeurs non nulles dans une BDD
Résolu/Fermé
chantaussel
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
-
19 févr. 2013 à 16:50
chantaussel Messages postés 137 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 9 juillet 2014 - 20 févr. 2013 à 13:19
chantaussel Messages postés 137 Date d'inscription lundi 17 mars 2008 Statut Membre Dernière intervention 9 juillet 2014 - 20 févr. 2013 à 13:19
A voir également:
- Selectionner seulement les valeurs non nulles dans une BDD
- Sélectionner texte pdf - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Comment selectionner toutes les photos dans google photo - Guide
- Quand on visite cette page, des messages sont échangés entre le navigateur et le site web. des extraits des messages échangés lors de la première connexion sont reproduits ci-dessous. des valeurs ont été remplacées par des numéros. retrouvez chacune de ces valeurs. - Forum Windows 10
- Le fichier contient le nombre de voyageurs dans 3 gares. dans la cellule b5, saisissez une formule qui calcule le total et se met à jour si on change une valeur du tableau. quel total obtenez-vous ? quelle formule avez-vous saisie ? ✓ - Forum Google Docs
9 réponses
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
19 févr. 2013 à 16:55
19 févr. 2013 à 16:55
tu peux tout faire en une seule boucle.
echo '<select>'; while($donnees = mysql_fetch_array($reponse)) { echo '<option>' . $donnees['lieu'] . '</option>'; } echo '</select>';
chantaussel
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
30
20 févr. 2013 à 11:58
20 févr. 2013 à 11:58
Oui effectivement, avec while c'est plus simple, mais par curiosité je me demande bien pourquoi il me sort une valeur nulle dans les résultats de la requête.
Merci :)
Merci :)
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
20 févr. 2013 à 12:03
20 févr. 2013 à 12:03
il suffit de faire une erreur de manipulation dans tes i pour que le while pédale dans le vide et te donne des résultats vides
chantaussel
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
30
20 févr. 2013 à 12:26
20 févr. 2013 à 12:26
J'ai fait cette boucle en while tout un tas de fois, pour faire aussi une liste déroulante avec les résultats de la requête et c'est la première fois que ça fait ça. Et il me semble pas que je m'embrouille dans les i? Quand j'écris
c'est quand même assez simple il me semble?
Merci.
$i = 1; while($donnees = mysql_fetch_array($reponse)) { $lieu[$i] = $donnees['lieu']; $i++; }
c'est quand même assez simple il me semble?
Merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
20 févr. 2013 à 12:30
20 févr. 2013 à 12:30
c'est surtout ce que tu fais ton i par le suite qui peut perturber, mais faire 2 boucles successives qui va foire le même nombre de tours, ça ne sert à rien, ça peut être source d'erreur, la preuve en image.
chantaussel
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
30
20 févr. 2013 à 12:56
20 févr. 2013 à 12:56
Je viens de simplifier ma page, juste pour faire un test. Je fais donc une boucle en while pour la requête, puis une en for pour l'affichage de la liste déroulante. Oui, j'utilise le "même" $i pour mes deux boucles, mais je lui redonne la bonne valeur de départ à chaque fois. (C'est exactement le code que j'ai posté dans le 1er message)
Et j'ai toujours ma ligne vide. Si je fais exactement la même chose mais en faisant une requête sur un autre champ je n'ai plus de ligne vide. Je ne pense donc pas que ça vienne de ma boucle, qui fonctionne très bien, mais de la requête qui me renvoie des données nulles malgré le "WHERE lieu IS NOT NULL". Honnêtement ce n'est dramatique, car un if règle le problème, mais c'est juste bizarre.
Merci de ton aide.
Et j'ai toujours ma ligne vide. Si je fais exactement la même chose mais en faisant une requête sur un autre champ je n'ai plus de ligne vide. Je ne pense donc pas que ça vienne de ma boucle, qui fonctionne très bien, mais de la requête qui me renvoie des données nulles malgré le "WHERE lieu IS NOT NULL". Honnêtement ce n'est dramatique, car un if règle le problème, mais c'est juste bizarre.
Merci de ton aide.
Utilisateur anonyme
20 févr. 2013 à 13:11
20 févr. 2013 à 13:11
Bonjour
WHERE lieu IS NOT NULL élimine les lignes où lieu est NULL, mais pas les lignes ou lieu est une chaîne vide ou simplement constituée d'espaces.
Essaye
WHERE lieu IS NOT NULL élimine les lignes où lieu est NULL, mais pas les lignes ou lieu est une chaîne vide ou simplement constituée d'espaces.
Essaye
...WHERE lieu IS NOT NULL AND TRIM(lieu)<>''
chantaussel
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
30
20 févr. 2013 à 13:15
20 févr. 2013 à 13:15
Oui, c'est ce que j'ai pensé au début aussi, mais j'ai classé mon champ par ordre alphabétique pour vérifier tout ça, et toutes les cellules vides ont bien la case NULL qui est cochée... Très zarbi, mais je vais quand même essayer ta technique pour voir.
Merci!!
Merci!!
chantaussel
Messages postés
137
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
9 juillet 2014
30
20 févr. 2013 à 13:19
20 févr. 2013 à 13:19
Youhou, ça marche, je dois effectivement avoir des espaces qui trainent par là.
Merci le père :)
Merci le père :)