Aide pour verifier requete

thombou Messages postés 226 Statut Membre -  
Alain_42 Messages postés 5413 Statut Membre -
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

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    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"; 
    
    } 
    
    0
  2. thombou Messages postés 226 Statut Membre 21
     
    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
    0
    1. arthezius Messages postés 3756 Statut Membre 475
       
      Peux-tu nous afficher les lignes précédentes?
      0
  3. thombou Messages postés 226 Statut Membre 21
     
    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.
    0
  4. Alain_42 Messages postés 5413 Statut Membre 904
     
    il me semble que tu as une erreur dans ta requette la :LIKE :recherche'

    ça serait plutot:

    LIKE $recherche

    à voir aussi les guillemets
    0
    1. thombou Messages postés 226 Statut Membre 21
       
      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
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Alain_42 Messages postés 5413 Statut Membre 904
     
    je ne savait pas que tu utilisait PDo Query il faut alors tester avec:

    $resultat->nbr_entrees >0 
    0
    1. thombou Messages postés 226 Statut Membre 21
       
      Je fais donc un
      if($requete->nbr_entrees >0)
      {mon message}
      

      Est ce bien cela ?
      Merci d'avance
      Thombou
      0
  7. Alain_42 Messages postés 5413 Statut Membre 904
     
    if($requete->nbr_entrees >0){
    affichage resultats
    }else{
    mesage pas de resultat
    }
    0