Comment rechercher un mot dans une chaine de caractères ?
Drazounet
Messages postés63Date d'inscriptionjeudi 30 octobre 2003StatutMembreDernière intervention27 mars 2008
-
11 nov. 2003 à 14:17
Tomcube
Messages postés311Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention14 septembre 2004
-
12 nov. 2003 à 22:45
Bonjours à tous,
Je suis en train de programmer un forum en php et maintenant je suis en train de lui ajouter une section "recherche" afin de trouver plus facilement un post recherché.
Le problème, c'est que je ne connais pas la commande qui recherche un seul mot dans une chaîne de caractère...
J'effectue en fait la recherche dans une base de donnée, et la seule chose que je sais tester c'est :
if ($recherche==$row["texte"])
{
etc...
}
En fait, je ne peux pas rechercher par mots clés.
Est-ce que quelqu'un pourrait me donner cette commande, si vous la connaissez?
Tomcube
Messages postés311Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention14 septembre 20041 11 nov. 2003 à 20:25
pour mysql, il faut que dans ta requete, tu mette un truc du style :
"select * from lenomdematable where monchamp like('%$mot%')";
pour une recherche avec "au moins un des mots", tu enchaine les monchamp like('%$motsX%') avec "or"
pour une recherche avec "tous les mots" tu les enchaine avec "and"
Tomcube
Messages postés311Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention14 septembre 20041 12 nov. 2003 à 17:40
Tu parles de la casse ?
Non, dans MySQL, ces motifs ne respectent pas la casse.
Par exemple, "Fred%" correspond à n'importe quelle valeur commençant par "fred"
Tomcube
Messages postés311Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention14 septembre 20041 12 nov. 2003 à 22:12
Non, c'est faux. Si par exemple l'utilisateur écrit : "bonjour super" Ce que tu as marqué renverra tous les enregistrements dans matable qui contiendront exactement la chaîne "bonjour or super".
Ce n'est pas ça que nous cherchons. On veut tous les enregistrements qui contiendrons "bonjour" ou "super"