PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 03-11-2015 14:51:54

abdoulayecoumba
Membre
Inscription : 07-10-2015
Messages : 13

Moteur de recherche sur une table

Salut Je veux créer un moteur de cherche sur une table nommée ''clients'' et qui comporte les champs ''prenom'' et ''nom'' mais à chaque fois que j'effectue une recherche aucun résultat ne 's'affiche , même pas un message d'erreur , j'ai beau regardé mon code mais je n'arrive pas à trouver la ou ca déconne , est ce que quelqu'un pourrait me fournir son aide
merci
voici mon code:
<!DOCTYPE html>

     <html>
    
         <head>
               <title> Moteur de recherche</title>
               <meta charset ='UTF-8'/>
        
         </head>
        
            <body>
            <?php
            if(isset($_POST['query']) && !empty($_POST['query']))
           
             {
                    $query= preg_replace("#[^a-z?0-9]#i","",$_POST['query']);
                   
                    $sql= "SELECT id,prenom AS title FROM clients WHERE prenom LIKE ? OR nom LIKE ?";
               
                //conncxion a la base de données
               
                include("fspeciales/connecter.php");
               
                $req = $connex->prepare($sql);
                $req->execute(array('%'.$query.'%','%'.$query.'%'));
               
                $count = $req->rowcount();
                if($count >= 1)
                      
                      {
                         echo "$count le(s) résultat(s) trouvé(s)pour <strong>$query</strong> </hr>";
                            
                            while ($data = $req->fetch(PDO::FETCH_OBJ))
                           
                            {
                              echo "#".$data->id.'- Titre: '.$data->prenom;
                            }
                      }
                else
                      {
                        echo"0 resultat trouvé pour votre recherche :<strong>$query</strong></hr>";
                      }
             }
           
            ?>
               <form action=  "<?php echo $_SERVER['PHP_SELF']; ?> " methode= "post ">
               <br>
               <br>
                   <label for=  "query " >Entrez votre recherche :</label>
                   <input type= "search" name= "query" maxlength= "80" size= "80" id= "query"/>
                   <input type= "submit" value= "Rechercher">
               </form>   
        
            </body>
     </html>

Hors ligne

#2 24-11-2015 21:19:15

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Moteur de recherche sur une table

Bonjour,

Votre problème viens de là :


$query= preg_replace("#[^a-z?0-9]#i","",$_POST['query']);
 

En gros vous envoyez une chaîne vide à votre base de données, d'où le comportement observé.

++


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums