TUTO PHP - Barre de recherche

PrimFX 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
PrimFX

Salut tout le monde ! Je m'appelle Boris, j'ai 20 ans et je suis passionné d'informatique et de technologie. Je partage cette passion à travers mes vidéos sur YouTube et les articles de ce site internet. J'ai également co-fondé en 2019 l'entreprise de services informatique Single Quote et je suis en parallèle étudiant (en informatique bien sur) :-)

Votre commentaire

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

Commentaires 21

  • 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 ?