Créer moteur de recherche PDO PHP wamp

steph

steph Le 20 décembre 2016 à 15:42 (Édité le 25 janvier 2019 à 17:52)

Bonjour ! je souhaiterais mettre un mini moteur de recherche sur mon site web. Malgré plusieurs recherches effectuées et test de différents programme proposés je n'y arrive pas. J'ai beaucoup de questions, tout d'abord, dans ma base de données d'après ce que j'ai compris sur le web je dois avoir une table. Mais c'est dans cette table que la recherche est effectuée ??? je veux dire, quand on tape un mot à rechercher c'est que la bas qu'il sera recherché ??? Merci d'avance pour votre aide 
TheOldNoob

TheOldNoob Le 20 décembre 2016 à 19:37

Salut Steph,

Oui, tu va devoir faire ta recherche dans une table 😀

Je te met le code que j'utilise en générale pour faire une recherche dans une table :
  <?php
       $resultRecherche = array();
      if(isset($_POST['search'])) {
         $chainesearch = trim(strip_tags($_POST['search']));  
         echo 'Vous avez recherché : ' . $chainesearch . '<br />';
         
          // Exécution de la requête SQL
         $requete = 'SELECT * FROM news WHERE title LIKE :searchString OR content LIKE :searchString'; 
          $res = $bdd->prepare($requete);
          $res->bindValue(':searchString', '%'.$chainesearch.'%');
          if($res->execute()){
             // ok
            $resultRecherche = $res->fetchAll(PDO::FETCH_ASSOC);
          }
          else {
             var_dump($res->errorInfo());
             die;
          }
   ?>
      
          <div id="titre_resultat" class="css3-notification">
              <h2> <?php echo 'Les résultats de votre recherche sont : ';?> </h2>
          </div>
   <?php
         if(!empty($resultRecherche)){ 
            foreach($resultRecherche as $donnees){
   ?>
               <div class="content-section-b">
                    <div class="container">
                        <div class="row">
                            <div class="col-lg-5 col-lg-offset-1 col-sm-push-6  col-sm-6">
                                <hr class="section-heading-spacer">
                                <div class="clearfix"></div>
                                <?php echo '<h2 class="section-heading">'.$donnees['title'].'</h2>';
                                      echo '<p class="lead">'.$donnees['content'].'</p>';
                                      echo 'Publié le '.date('d/m/Y', strtotime($donnees['date_add'])); ?>
                            </div>
                            <div class="col-lg-5 col-sm-pull-6  col-sm-6">
                                <?php echo '<img style="width: 250px; "class="img-responsive" src="'.$donnees['link'].'" alt="">';
                                      ;
                                 ?>
                            </div>
                        </div>
                    </div> <!-- /.container -->
                </div> <!-- /.content-section-b -->
   <?php            
            }
         }
         else {
            echo 'Dommage il n\'y a pas d\'articles correspondant à votre recherche :-(';
         }
      } // fin if(isset($_POST['search']))
?>
A toi de faire tout le html qui va autour 😀
steph

steph Le 21 décembre 2016 à 15:51

Salut !
Merci beaucoup pour votre réponse !
donc je dois taper autant de code que ca pour chacune de mes tables ???
TheOldNoob

TheOldNoob Le 21 décembre 2016 à 17:34

Tu doit pouvoir faire des jointures 😀

Mais je suis assez nul en jointures !
steph

steph Le 21 décembre 2016 à 18:32

mdrrr ah d'accord je vais essayer ça alors ! merci beaucoup !! :)
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte