Recherche dans un champs avec LIKE

sim100

WRInaute passionné
Bonjour à tous,

J'ai dans ma base MySql un champs "keyword" qui contient "Nike"
Je voudrais comparer ce champs avec une phrase : $phrase="La marque Nike est super";

Donc est ce que ça va marcher comme ça :
Code:
$query="SELECT * FROM field WHERE keywords LIKE \"%$phrase%\"...";

Car normalement c'est l inverse qui doit être fait, à savoir si $phrase contient keywords.

Merci pour les infos
 

Zecat

WRInaute accro
là sauf erreur, tu lui demandes si une chaine d'un mot contient une phrase de 5 mots :roll:

TU veux faire quoi comme recherche exactement ?

Meme si j'ai pas pigé ce que tu cherches, je pense qu'il va te falloir utiliser IN ... apres avoir converti ta prase en

$zone_IN="('la','marque','nike','est','super')"; // je te laisse faire l'explode ou la reg ...

et donc ca pourrait devenir :

Code:
$query="SELECT * FROM field WHERE keywords IN '$zone_IN'";
 

sim100

WRInaute passionné
Oui c'est ça Zecat, je lui demande si une chaine d'un mot contient une phrase de 5 mots, et je sais bien que ça ne le fais pas...

Le probleme est que le découpage de chaine ne me satisfait pas, tout simplement car si on prend l'exemple avec des marques, je peux avoir 2 marques contenant un mot similaire, du genre les marques bidons:
"Super Nike" et "Génial Nike"
Donc je me retrouverais avec des phrase type
"La marque Super Nike est super" et "La marque Génial Nike est super"
Lors du découpage on a "Nike" dans les deux cas
et une personne qui recherche "Super Nike" se retrouve aussi avec les "Génial Nike"

Donc je veux des recherche par expression exact
Le mieux aurait été de pouvoir faire
Code:
$query="SELECT * FROM field WHERE \"%$phrase%\" LIKE keywords...";

Jéspère avoir été assez clair

Merci
 

Zecat

WRInaute accro
je vois toujours pas le probleme ... si tu fais une recherche IN avec comme mot "super nike" ...

Si tu precises exactement ce que tu veux chercher ca sera plus clair ...
 

sim100

WRInaute passionné
Alors, dison sur un exemple concret,
le champs "keyword" contient "Super Nike"
la phrase $phrase="La marque Super Nike est super"

Et je veux faire une requête, sortir les résultat pour tous les "keyword" inclus dans $phrase

Voila :)
Merci en tout cas pour les aides
 

Tomybe

WRInaute discret
Comme te l'a dis spout! Tu doit faire une recherche fulltext, ça sera quand même moins dégueulasse que ton LIKE
 

Discussions similaires

Haut