Recherche, non precise, php

Résolu
Bonjour,

J'ai juste un petit problème, je fait une recherche via un formulaire venant de "formulaire.php" pour le rediriger sur une page "resultat.php"
D'où il y a un zone de text <input type="text" name="cherche"> etc ... avec le bouton submit
Avec une requete 'SELECT * FROM ma_table WHERE QUESTION=\''.$_GET[cherche].'\''
mais le resultat est toujours precis, par exemple si je fais 'comment', ça affiche seulment les lignes contenant 'comment',
Or je voudrais que ca affiche 'comment ça marche' 'comment c'est fait' etc...
Donc que dois je faire?modification?etc... :)
Merci pour vos reponse,

3 réponses

  1. deux petites remarques:

    mets ton formulaire en POST c'est a dire dans la balise
    <form .....method="POST" ......>


    et protèges ta base contre les attaques par mysql_real_escape_string

    $query="SELECT * FROM ma_table WHERE QUESTION like '%'.mysql_real_escape_string($_POST[cherche]).'%' ";
    1. Bonjour,

      Faites ceci simplement dans votre requête :

      'SELECT * FROM ma_table WHERE QUESTION like \'%'.$_GET[cherche].'%\''

      Ce sera plus lent mais ça le fera
      1. merci neopro97, et Titi Lafronde, merci a toi aussi d'avoir repondu mais j'ai jamais entendu parler de ce regex. :)
      2. regex, c'est pour gérer les expressions régulières, ça n'aurait pas résolu le problème
    2. utilise un regex
      la ca ne cherche que le mot exact, fait en sorte que ta regex soit du type "x comment y" ou x & y sont des mots