Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2031 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  comment tester si le résultat de la requête est nul [résolu]

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comment tester si le résultat de la requête est nul [résolu]

n°2001907
dovic31
Débutant en Développement
Posté le 15-06-2010 à 17:46:28  profilanswer
 

Bonjour ,
 
j'exploite une base access donc j'utilise ODBC  
 
dans ce code j'essai d'afficher le nom et prénom d'une personne sauf que si cette personne n'existe pas dans la base on affiche  
aucun nom (ici kim ) dans la base et on finit le traitement  
j'ai fais ce code et testé mais on entre jamais dans la partie else au cas où le nom existe  
 

Code :
  1. <?php
  2. $cnx = odbc_connect( "DSN_personnes", "root", "" ) or die("Impossible de se connecter à la bas de donn&eacutee" ) ;
  3.   $sql = "SELECT nom , prenom ,count(nom) as nombre  FROM [perso nnes] where nom like 'kim'
  4.   group by nom , prenom ";
  5.  
  6.  
  7. $requete = odbc_do($cnx, $sql) ;
  8. $affected = odbc_num_rows($requete);
  9. echo $affected."<br />";
  10. if($affected==-1)
  11. {
  12.   echo 'aucun kim dans la base '."<br />";
  13. }
  14. else
  15. {
  16.     //affichage des données:
  17.     while( $result = odbc_fetch_object( $requete ) )
  18.     {
  19. // if(empty($result))
  20.  {
  21.        echo $result->nom." ".$result->prenom." <br>";
  22.      
  23.        
  24.      
  25.         }
  26.     //    else
  27.         {
  28.  //  echo 'aucun kim dans la base '."<br />";
  29.  }
  30.              $nombre += $result->nombre ;
  31.  }
  32. }
  33.  echo 'le nombre est ' .$nombre."<br />";
  34. odbc_close( $cnx); // ferme la connexion


 
est ce quelqu'un a une idée ??
 
merci d'avance  :jap:


Message édité par dovic31 le 17-06-2010 à 08:38:17
mood
Publicité
Posté le 15-06-2010 à 17:46:28  profilanswer
 

n°2001911
fred777888​999
Posté le 15-06-2010 à 17:54:28  profilanswer
 

Ben tout est dans la doc ici. Ca retourne -1 en cas d'erreur, mais je ne vois pas pourquoi il y aurait une erreur sql dans le cas ou il n'y a pas d'enregistrements, mais plutot 0 lignes retournees.
donc

Code :
  1. if($affected==0)


n°2001959
dovic31
Débutant en Développement
Posté le 15-06-2010 à 22:35:54  profilanswer
 

par contre dans ce code  avec kim comme test
 

Code :
  1. echo $affected."<br />";    // affiche -1
  2. if($affected==0) // on entre pas dans cette boucle  
  3. {
  4.   echo 'aucun kim dans la base '."<br />";
  5. }


 
en fait c'est testé ; le problème c'est qu'il retourne tout le temps -1 quelque soit la situation  

Code :
  1. echo $affected."<br />";    // affiche -1


Message édité par dovic31 le 15-06-2010 à 22:39:48
n°2002391
dovic31
Débutant en Développement
Posté le 17-06-2010 à 08:36:15  profilanswer
 

j'ai trouvé voici la réponse  
 
<code>
$requete = odbc_do($cnx, $sql) ;
 
// echo 'la requete '. $requete ."<br />";
 
  $affected = odbc_fetch_row($requete);
 
  // echo $affected."<br />";
 
 
   if($affected!=1)
{
    echo 'aucun kim dans la base '."<br />";
 
}
 
     else
{
 
 
         // si on ne met pas cette ligne , il affiche le suivant sans passer à la première valeur  
       $affected = odbc_fetch_row($requete,0);
 
   
 
    //affichage des données:
    while( $result = odbc_fetch_object( $requete ) )
    {
</code>


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  comment tester si le résultat de la requête est nul [résolu]

 

Sujets relatifs
[Résolu] Liste de lecture en html[RESOLU] Problème Requête Mondrian/JPivot
Requete Serveur WGET[RESOLU]document.getElementById() = null mais pourquoi ??
(resolu) requetes sur 900 bases mysql avec boucles[Résolu] Petit problème "for" déjà dans une boucle ...
[RESOLU] [SHELL] extraction et reformattage des données d'un fichiercomment adapter requête si nom attribut égale à N°
Optimisation d'une requête MySQL 
Plus de sujets relatifs à : comment tester si le résultat de la requête est nul [résolu]


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR