Recherche, non precise, php

Résolu/Fermé
patrick646 Messages postés 35 Date d'inscription vendredi 9 octobre 2009 Statut Membre Dernière intervention 18 juin 2012 - 23 août 2011 à 09:57
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 25 août 2011 à 13:36
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,

A voir également:

3 réponses

Titi La Fronde Messages postés 67 Date d'inscription jeudi 28 juillet 2011 Statut Membre Dernière intervention 12 septembre 2011 3
23 août 2011 à 09:59
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
0
Utilisateur anonyme
23 août 2011 à 10:03
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
0
patrick646 Messages postés 35 Date d'inscription vendredi 9 octobre 2009 Statut Membre Dernière intervention 18 juin 2012
23 août 2011 à 10:29
merci neopro97, et Titi Lafronde, merci a toi aussi d'avoir repondu mais j'ai jamais entendu parler de ce regex. :)
0
Utilisateur anonyme
23 août 2011 à 10:33
regex, c'est pour gérer les expressions régulières, ça n'aurait pas résolu le problème
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
25 août 2011 à 13:36
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]).'%' ";
0