Mysql Like

Résolu
Bonjour, je souhaite lister se que cherche un visiteur en utilisant la fonction LIKE :

J'utilise PDO pour la connexion :

$reponse = $bdd->query('SELECT * FROM billet WHERE titre LIKE \''.htmlentities($_GET['recherche']).'%\'');


Le problème c'est que cela me renvoi TOUS les billets mais commençant par le mot recherché.

Une personne à t'elle une solution ?

Merci d'avance.



--
http://www.mypelemele.fr

2 réponses

  1. Heu désolé j'ai trouvé moi même... c'était plus loin dans mon script qui demandé d'afficher tous sans s'occupé de ma première requete.

    Bref j'ai une autre question :

    je voudrai que sa recherche dans plusieurs tables comment faire ?

    $reponse = $bdd->query('SELECT * FROM billet WHERE titre LIKE \%''.htmlentities($_GET['recherche']).'%\'');


    Pour rechercher dans la table titre mais pour plusieurs tables ?

    Merci
    1. Bonjour,

      essaie :

      $reponse = $bdd->query('SELECT * FROM billet WHERE titre LIKE \'%'.htmlentities($_GET['recherche']).'%\'');

      %marecherche% pour trouver une chaine contenue
      1. Merci pitxu mais en faite je voudrai que sa recherche sur plusieur table :

        $reponse = $bdd->query('SELECT * FROM billet WHERE titre AND head AND corp LIKE \%''.htmlentities($_GET['recherche']).'%\'');

        Mais cette solution ne fonctionne pas
      2. J'ai trouvé :

        $reponse = $bdd->query('SELECT * FROM billet WHERE corp LIKE \'%'.htmlentities($_GET['recherche']).'%\' OR head LIKE \'%'.htmlentities($_GET['recherche']).'%\' OR titre LIKE \'%'.htmlentities($_GET['recherche']).'%\'');