Problème while, if, else ...

Problème while, if, else ... - PHP - Programmation

Marsh Posté le 02-06-2008 à 15:48:17    

Bonjour à tous, voila mon soucis, j'ai une page html qui me permet de saisir une adresse IP pour effectuer une recherche dans une base de données, jusque là pas de soucis, du côté du php pas de soucis pour l'exécution de la requête, mais pour un affichage lorsque j'ai plusieurs résultats j'ai un soucis car je n'ai qu'une seule ligne qui s'affiche (avant j'étais en "while" mais j'ai changé pour un "if, else" pour prévenir l'utilisateur d'une mauvaise saisie d'adresse IP.
 
Mon code :  
 

Code :
  1. if($row = mysql_fetch_row($result))
  2. {
  3. $id = $row[0];
  4. $source = $row[1];
  5. $date = $row[2];
  6. $mac = $row[3];
  7. $ip = $row[4];
  8. $epoch = $row[5];
  9. $texte =$row[6];
  10.  
  11. <td>$id</td>\n
  12. <td>$source</td>\n
  13. <td>$date</td>\n
  14. <td>$mac</td>\n
  15. <td>$ip</td>\n
  16. <td>$epoch</td>\n
  17. <td>$texte</td>\n
  18.  
  19. </tr>\n";
  20. }
  21. else
  22. {
  23. echo"<p>Cette adresse IP n'est pas présent dans la table enregistrement. Assurez-vous d'avoir saisi une adresse IP correcte de la forme xxx.xxx.xxx.xxx</p>";
  24. }


 
Comment concilier l'affichage multiple et le message d'erreur en cas de mauvaise saisie ?
 
Merci

Reply

Marsh Posté le 02-06-2008 à 15:48:17   

Reply

Marsh Posté le 02-06-2008 à 15:52:36    

si tu veux afficher plusieurs lignes, il faut bien mettre while ($row = ...)

 

normalement, tu devrais détecter l'erreur avant de vouloir afficher les résultats (avant la connexion à la db même je dirais).

 


sinon, c'est normal d'avoir plusieurs résultats pour une adresse ip ?

Message cité 1 fois
Message édité par art_dupond le 02-06-2008 à 15:53:29

---------------
oui oui
Reply

Marsh Posté le 02-06-2008 à 15:58:46    

art_dupond a écrit :

si tu veux afficher plusieurs lignes, il faut bien mettre while ($row = ...)
normalement, tu devrais détecter l'erreur avant de vouloir afficher les résultats (avant la connexion à la db même je dirais).


 
J'étais parti sur l'idée que si il n'y a pas de résultat il y a message d'erreur, s'il y a résultat, même multiple, affichage.  
Je ne vois pas trop ce que ça pourrait donner autrement  :heink:  
 

art_dupond a écrit :


sinon, c'est normal d'avoir plusieurs résultats pour une adresse ip ?


 
Dans le cas présent oui  :jap:  

Reply

Marsh Posté le 02-06-2008 à 16:14:47    

ah mais si pas de message, ce n'est plus une erreur de saisie.

 

s'il n'y a pas d'entrée, ton while sera faux et il n'entrera pas dedans.
tu peux tester le nombre de lignes retournées avant de faire le while (mysql_num_rows quelque chose - je sais plus)


Message édité par art_dupond le 02-06-2008 à 16:16:31

---------------
oui oui
Reply

Sujets relatifs:

Leave a Replay

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