Aide pour verifier requete

Bonjour,
Pour mon site je voudrais faire une requete de recherche de personnes par nom, donc ca ca marche par contre je voudrais pouvoir afficher un petit message si jamais il n'y a aucun nom en correspondance...
J'ai pour cela fatt un test avec un if(!empty($mavariable)) mais elle n'est jamais vide parce mon message ne s'affiche jamais.
Comment faire ??
merci d'avance
Cordialement
Thombou



--
L'informatique est un monde dont on a jamais fini de faire le tour.

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. il ne faut pas faire le test ainsi pour le cas ou aucun nom trouvé

    il faut faire par exemple

    $query="SELECT..............."; 
    $result=mysql($query); 
    //on teste combien trouvé 
    if(mysql_num_rows($result) >0){
     //il y a des résultats donc tu les affiches 
    }else{ 
    //il n'y a pas de résultats donc message 
    echo "Pas de noms correspondant a votre requette"; 
    
    } 
    
    1. Il me répond ca :

      Warning: mysql_num_rows() expects parameter 1 to be resource, object given in C:\wamp\www\ssvp\recherche.php on line 53

      la ligne 53 est la ligne avec : if(mysql_num_rows($result) >0)

      Que faire ??
      bien cordialement
      Thombou
      1. Peux-tu nous afficher les lignes précédentes?
    2. Voila la requete en entier
      Ce qu'il y a avant n'est pas interessant, c'est des vérifications de variables et du texte.
      Merci d'avance
      Thombou

      $recherche = $num_fix; 
          $requete = $bdd->prepare('SELECT id_inscrit, nom, prenom, num_tel_fix FROM inscrits WHERE num_tel_fix LIKE :recherche'); 
          $requete->execute(array( 
          'recherche' => '%'.$recherche.'%')); 
          if (mysql_num_rows($requete) > 0) // <-- ligne 53
          {  
           echo "<ul>"; 
           while($donnees = $requete->fetch()) 
           { 
           ?> 
           <li><a href="consultation-fiche.php?id=<?php echo $donnees['id_inscrit'];?>"><?php echo strtoupper($donnees['nom']);?> <?php echo ucfirst(strtolower($donnees['prenom']));?> : <?php echo $donnees['num_tel_fix'];?></a></li> 
           <?php 
           } 
           echo "</ul>"; 
          }//fin if 
          else // requete vide 
          { 
           echo "Aucun résultat trouvé pour le numéro : " . $recherche; 
          } 
          }//fixe 
      

      L'informatique est un monde dont on a jamais fini de faire le tour.
      1. il me semble que tu as une erreur dans ta requette la :LIKE :recherche'

        ça serait plutot:

        LIKE $recherche

        à voir aussi les guillemets
        1. Il n'y a aucun problème pour le LIKE, parce que ca marchait très bien avant de mettre la fonction mysql_num_rows.
          Ce n'est donc pas un problème de ca.
          Merci d'avance
          Thombou
      2. je ne savait pas que tu utilisait PDo Query il faut alors tester avec:

        $resultat->nbr_entrees >0 
        1. Je fais donc un
          if($requete->nbr_entrees >0)
          {mon message}
          

          Est ce bien cela ?
          Merci d'avance
          Thombou
      3. if($requete->nbr_entrees >0){
        affichage resultats
        }else{
        mesage pas de resultat
        }