Recherche, non precise, php
Résolu
patrick646
Messages postés
43
Statut
Membre
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
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,
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
-
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 -
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 -
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]).'%' ";