Moteur de recherche pour afficher une ligne ou plus

Une moulinette de code qui s'est enrayée, une requête SQL qui ne passe pas ?
Minimoy's
 
Messages: 1
Inscription: 16 Mai 2017, 12:58

Moteur de recherche pour afficher une ligne ou plus

Messagede Minimoy's » 16 Mai 2017, 13:11

Bonjour tout le monde,

Voila je suis bloquée sur un projet perso car je voudrais récupérer une ou plusieurs ligne (en fonction des mots rechercher) de ma BDD en faisant une recherche de mots clefs par mon back office que j'ai créé.
J'explique plus en détaille.
Voila j'ai une table ville_francaise qui à plusieurs lignes et plusieurs colonnes (id_ville_francaise, code_dpt , code_commune, code_nature_voie, libelle_voie et nom), dans cette table, j'aimerais dire : je recherche par rapport à l'id, au code dpt, code commune et libelle voie et quand fonction de ces mots clefs, je puisse ressortir que les lignes (toute la ligne) où ces mots clefs sont présent .

Formulaire pour permettre la recherche par mot clef en HTML
Code: Tout sélectionner
<form method="post">
<br>
<table>

   <td>

      <tr><!-- ID  -->
         <label for="search">Recherche par ID</label>
               <input id="ID" type="text" name="recherche">
       </tr>
       <br>

      <tr> <!--  CODE DPT  -->
         <label for="search">Recherche par départementale</label>
              <input id="departementale" type="text" name="recherche">
       </tr>
       <br>

      <tr> <!--  CODE COMMUNE  -->
         <label for="search">Recherche par commune</label>
              <input id="commune" type="text" name="recherche">
        </tr>
        <br>

      <tr> <!--  CODE LIBELLE VOIE  -->
         <label for="search">Recherche par le libellé de la voie</label>
              <input id="libelle_voie" type="text" name="recherche">
        </tr>
        <br>

      <tr>
           <input type="submit" name="search" value="Rechercher">
              <input type="submit" name="reset" value="Réinitialiser">
       </tr>
       <br>

   </td>
</table>
</form>


Code en PHP qui relié ma recherche et ma BDD

Code: Tout sélectionner
<?php

// Récupération de la BDD et de la table
   if(isset($_POST['search'])){
             $_SESSION['search']=$_POST['search'];
             $requete=$this->pdo->query( ' SELECT * FROM ville_francaise = '.$_SESSION['search']);
            $reponse=$requete->fetch();



//  Récupération de l'id (1er mot clef)
      if(isset($_SESSION['search'])){
             $reponse = $bdd->query('SELECT * FROM ville_francaise WHERE id_'.$ville.'='.$_SESSION['search']);
      }

//  Récupération du code départemantal  (2 ème mot clef)
      if(isset($_SESSION['search'])){
             $reponse = $bdd->query('SELECT * FROM ville_francaise WHERE id_'.$code_dpt.'='.$_SESSION['search']);
      }

//  Récupération du code de la commune (3 ème mot clef)
      if(isset($_SESSION['search'])){
             $reponse = $bdd->query('SELECT * FROM ville_francaise WHERE id_'.$code_commune.'='.$_SESSION['search']);
      }

//  Récupération du libellé de la voie (4 ème mot clef)
      if(isset($_SESSION['search'])){
             $reponse = $bdd->query('SELECT * FROM ville_francaise WHERE id_'.$libelle_voie.'='.$_SESSION['search']);
      }

   }


?>


J'ai essayez sur d'autres forums et personne ne m'explique ! :cry: Alors j'espère que sur celui-ci quelqu'un va pouvoir me répondre et me dire comment faire pour que je puisse affiché les lignes correspondants aux mots clefs. :roll:

Je suis un peu perdu et j'en est besoin pour cette semaine, alors après 4 jours à chercher et à faire du code, le modifier, revenir a l'original, j'espère vraiment qu'une personne pourra prendre de son temps pour m'expliquer.

Merci

Avatar de l’utilisateur
Galdon
Administrateur du site
Administrateur du site
 
Messages: 2188
Inscription: 06 Sep 2008, 22:05

Re: Moteur de recherche pour afficher une ligne ou plus

Messagede Galdon » 17 Juin 2017, 16:52

Il faut utiliser un index fulltext pour faire des recherches par mot clé : http://www.finalclap.com/faq/133-mysql- ... -recherche
Tu peux aussi le faire avec des LIKE %% mais ça va donner des performances catastrophiques.
"Si tu veux me parler, envoie-moi un... FAX !" - George Abitbol


Retourner vers PHP/MySQL

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités