TUTO PHP - Barre de recherche

PrimFX Boris ('PrimFX') Le 3 avril 2016

Comme vous avez été pas mal à me le demander, voici un tuto qui vous permettra de créer une barre de recherche pour votre site internet !

Bien sûr, comme dit dans la vidéo, les façons de faire sont infinies, mais je pense vous avoir présenté ici celle qui s'adaptera au plus grand nombre de sites et qui sera donc la plus polyvalente ;-)

  • Code du tuto:
<meta charset="utf-8" />
<?php

$bdd = new PDO('mysql:host=127.0.0.1;dbname=primfx;charset=utf8','root','');

$articles = $bdd->query('SELECT titre FROM articles ORDER BY id DESC');
if(isset($_GET['q']) AND !empty($_GET['q'])) {
   $q = htmlspecialchars($_GET['q']);
   $articles = $bdd->query('SELECT titre FROM articles WHERE titre LIKE "%'.$q.'%" ORDER BY id DESC');
   if($articles->rowCount() == 0) {
      $articles = $bdd->query('SELECT titre FROM articles WHERE CONCAT(titre, contenu) LIKE "%'.$q.'%" ORDER BY id DESC');
   }
}
?>
<form method="GET">
   <input type="search" name="q" placeholder="Recherche..." />
   <input type="submit" value="Valider" />
</form>
<?php if($articles->rowCount() > 0) { ?>
   <ul>
   <?php while($a = $articles->fetch()) { ?>
      <li><?= $a['titre'] ?></li>
   <?php } ?>
   </ul>
<?php } else { ?>
Aucun résultat pour: <?= $q ?>...
<?php } ?>

A propos de l'auteur

PrimFX
Boris ('PrimFX')

Je m'appelle Boris, j'ai 20 ans et je suis passionné d'informatique et de technologie. Diplômé d'une Licence Informatique de l'Université de Strasbourg, j'ai co-fondé en 2019 l'entreprise Single Quote et je profite de mon temps libre pour partager ma passion à travers des vidéos & articles sur PrimFX.com 😃

Votre commentaire

Vous devez être connecté pour poster un commentaire. Se connecter ou Créer un compte

Commentaires 23

  • Le_dev Le 25 juillet, à 09:54 | Répondre

    En fait merci c bon g reussi tout seul et je suis genre tellement satisfait je vous dis un truc ca fait deux jours que je persévère . Je vous donne un conseille : un developpeur ne doit jamais abandonner

  • Le_dev Le 24 juillet, à 23:09 | Répondre

    Salut je voudrais inclure ce systeme avec les articles mais
    Ca me dit "undefined index: id" pourriez vous m'aider svp

  • Loicbatat Le 14 mars, à 22:02 | Répondre

    stp il faut souvant mettre les commandes sql de ta base de donnée

  • Idris-Rayan Le 3 août, à 17:20 | Répondre

    Comment mettre des liens sur les résultats des recherches ?
    merci d'avance

  • Idris-Rayan Le 3 août, à 15:01 | Répondre

    Comment mettre des liens sur les résultats des recherches ?
    merci d'avance

  • nes99 Le 17 janvier, à 16:19 | Répondre

    Salut super vidéo! Je suis tombe dessus par hasard. Comment tu as fais pour répertorier tes articles et les afficher? Tu as sans doute fait une vidéo dessus mais je viens d'arriver... donc je sais pas.

  • DimiSkl Le 16 janvier, à 19:21 | Répondre

    Bonjour,
    Comment fait-on si nous avons une table a plusieurs attribut comme "id_Titre", "titre", "date_Publication" et que l'on veut faire une recherche dans les trois colonne différentes ?
    Je n'arrive pas a trouver la requête SQL qui pourrais faire cela.
    PS : c'est pour mon projet de BTS SIO
    Merci ;)

  • J8mes Le 31 décembre, à 07:59 | Répondre

    Bjr Primfx j'apprecie beaucoup ce que tu fais grace a toi mon site est déja presque fini. Dernierement j'ai implémenté sur mon site une barre de recherche qui fonctionne tres et j'en suis ravi mais j'aimerais pouvoir ajouter l'image de chaque recette lors de la recherche de celle ci., Stp si tu peux faire un tuto 2.0 sur un moteur de recherche j'en serais tres ravi

  • Chermann Le 26 juin, à 07:34 | Répondre

    @pirlo95
    'q' c'est pour la requête qui donne 'query' en anglais. Si tu veux c'est un alias. Sauf si jee me trompe PrimFX?!

  • raf33730 Le 3 juin, à 16:28 | Répondre

    merci j'ai galeré comme un malade mais j'ai reussi merci le resultat sur musiquedebeauf.pe.hu

  • thrall-x Le 2 juin, à 08:25 | Répondre

    Bonjour
    pour commencer merci pour ces tutos il sont géniaux 
    la barre fonctionne super bien avec une table mais je coince pour relier plusieurs  tables
    j'aimerais que la barre de recherche consulte les différentes tables de ma base 
    c'est  un site pour  une armurerie
    j'ai une table [b]armes[/b] avec les champs [b]marque, référence, calibre, catégorie [/b]et[b] prix[/b] et une table [b]munitions[/b] avec les champs [b]marque, type, calibre, catégorie [/b]et[b] prix [/b]et j'aimerais qu'en tapant 357 ca me sorte les munitions et les armes disponible.

  • lebotdunet Le 2 mai, à 17:30 | Répondre

    Bonjour je n'arrive pas a changer le code pour faire une recherche de membre merci.

  • Batfire0613 Le 10 avril, à 19:43 | Répondre

    Bonjour j'ai un petit probleme:Fatal error: Call to a member function rowCount() on a non-object in C:\wamp\www\Sharing 1\pages\membres.php on line 42 merci de me répondre.

  • Santa_code Le 29 mars, à 13:41 | Répondre

    @primFx jaimerais savoir se qu'il y a dans la bdd utiliser

  • pirlo95 Le 4 mars, à 17:02 | Répondre

    Bonjour,

    J'ai mis le meme code que dans ce tuto et lorsque je fais une recherche d'un pseudo,(j'ai modifie le code pour faire une recherche d'ami) cela m'emmene ver une page blanche...
    De plus dans l'url il y a ecrit q= "ce que je recherche"
    Merci de votre aide et bonne journée!!

  • pirlo95 Le 3 mars, à 22:03 | Répondre

    Bonjour,

    J'ai mis le meme code que dans ce tuto et lorsque je fais une recherche d'un pseudo,(j'ai modifie le code pour faire une recherche d'ami) cela m'emmene ver une page blanche...
    De plus dans l'url il y a ecrit q= "ce que je recherche"
    Merci de votre aide et bonne journée!!

  • Rivens Le 13 janvier, à 04:02 | Répondre

    "on va juste passer notre q" 6:44 je rigole. Que je suis un gogole

  • hamtaro Le 27 novembre, à 22:46 | Répondre

    Perso ca me liste toute mes vidéos (j'ai adapté pour mes besoins) avant meme de faire la recherche

  • lordmagikal Le 25 août, à 21:23 | Répondre

    très bon tuto :)

  • Eldorade Le 19 juillet, à 19:44 | Répondre

    Bonjour PrimFx, pour commencer merci pour se tuto.

    J'aimerais savoir comment a tu fait ta table pour la base de donner du moteur de recherche,
    car je ne comprend pas comment sa marche.

    Merci

  • bigus Le 11 mai, à 21:45 | Répondre

    Bonjour PrimFx,
    le tuto est très sympa, mais j'aurais aimé comme nexclisson avoir une fonction de recherche à "étage" avec un champs de sélection en liste de la catégorie, et un second qui permettrait la sélection toujours en liste de la sous-catégorie (qui correspondrait à la catégorie sélectionnée dans le premier champs).
    Je ne suis pas sûr que ce soit jouable en php, mais en javascript pour ne pas avoir de rechargement de page.
    Pourrais-tu nous faire un tel tuto avec un petit exemple clair....ce serait vraiment très sympa.
    Merci

  • mokh Le 6 mai, à 01:28 | Répondre

    merciiiiii........

  • nexclisson Le 10 avril, à 17:31 | Répondre

    Y aurai possibilité de faire un tuto recherche mais en javascript pour mettre une liste de proposition ?