Si résultat du sélect est vide

Si résultat du sélect est vide - PHP - Programmation

Marsh Posté le 31-10-2007 à 20:34:36    

Bonjour,
 
J'essaie de comprendre le fonctionnement du sélect lorsque celui-ci est vide.  
Dans mon cas, certains usagers n'ont pas de fiches alors j'affiche un texte avec un if et mysql_num_rows($reponse);.
 
 
Mais est-ce que c'est la bonne façon ou bien, quelle est la meilleur façon de contrôler le résultat ?  
 
Merci!

Reply

Marsh Posté le 31-10-2007 à 20:34:36   

Reply

Marsh Posté le 01-11-2007 à 00:11:07    

un select est, par defaut, positionné sur la premiere option.. il est donc toujours envoyé
 
j'ai pris l'habitude de mettre des value="0" à toutes les <options> de mes select qui ne correspondent à aucune valeur.. (titres, ligne genre "selectionner une option", etc)
 
Derriere en php tu enregistre la valeur en faisaint un bete test genre  

Code :
  1. if (!empty($_POST["ma_select_box"]))
  2.     //do stuff


 
 
edit: ton probleme c'est dans l'autre sens ? (jai pas bien compris en fait :d)
Sinon bha quand tu affiche toutes les options, tu boucle pour savoir où mettre le selected=selected, et donc tu n'as qu'à mettre la premiere ligne "Selectionner une option " ou "aucun choix" à value="" ou value="0" et faire correspondre avec la abse
 
edit2:en fait j'ai peut etre pas compris ton probleme mdr :p


Message édité par bixibu le 01-11-2007 à 00:13:39
Reply

Marsh Posté le 01-11-2007 à 00:16:05    

Ma question va plutôt dans le sens de, si je fais un sélect bdd where no='4no' pour voir si la personne a une fiche et qu'elle n'en a pas.
 
Je voudrais savoir la meilleur solution pour gérer cela. est-ce un if mysql_num_rows($reponse)
 
Merci!

Reply

Marsh Posté le 01-11-2007 à 09:39:43    

Si y'a plus rien (ou rien tout court) les méthodes "fetch" te retournent un false, suffit de faire un test comme tu devrais le faire de toutes manières systématiquement ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed