Recherche, non precise, php

Résolu
patrick646 Messages postés 35 Date d'inscription   Statut Membre Dernière intervention   -  
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   4
 
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
 
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   Statut Membre Dernière intervention  
 
merci neopro97, et Titi Lafronde, merci a toi aussi d'avoir repondu mais j'ai jamais entendu parler de ce regex. :)
0
Utilisateur anonyme
 
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   Statut Membre Dernière intervention   894
 
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