Tout d'abord merci pour tout ... Je pensais avoir répondu en vous remerciant mais j'ai du oublier
...
Bref ...
Tout aussi curieux que cela puisse paraitre, le fati d'avoir mis LIKE '$variable%' ... a fonctionner pendant un temps ... puis la plus rien
Voilà ma requête :
Code :
- SELECT * FROM table WHERE ref <> '' AND (mots LIKE 'eau%' OR titre LIKE 'eau%' OR legende LIKE 'eau%' OR ref LIKE 'eau%') ORDER BY date DESC
|
cela ne renvoi plus de résultat ...
J'ai changé titre LIKE '%eau%' ... en laissant les autres tel quel ... et la ca marche ...
Donc en clair j'ai toujours ce problème de requete sur un mots précis comme "eau" mais ma requête MySQL/PHP me renvoi ou TOUS les résultats "panneau", "eau", "rouleau", "eaux"... alors que je ne souhaite avoir que "eau" et "eaux" ... Bref c'est l'horreur ...
J'ai tout essayé
Le plus bizzare ... c'est que même sous phpMyAdmin ...
Faire une requete comme : SELECT * FROM image WHERE mots LIKE '%usa%' renvoi 6 résultats ... alors que WHERE mots LIKE 'usa%' renvoi 0 résultat !!!
Pourtant dans le champ "mots" ... j'ai bien le mot usa seul et la chaine usa ... (usa prohibition / Remusa)
Voilà comment je faisais avant :
Code :
- $mots_search = explode(" ", $_GET['mots']); //séparation des mots de tous les espaces
- $nombre_mots = count($mots_search); //nombre de mots
- for ($i=0;$i<$nombre_mots;$i++)
- {
- $query_mots = "AND (mots LIKE '$mots_search[$i]%' ";
- $query_mots .= "OR titre LIKE '$mots_search[$i]%' ";
- $query_mots .= "OR legende LIKE '$mots_search[$i]%' ";
- $query_mots .= "OR ref LIKE '$mots_search[$i]%'";
- $query_mots .= " ) ";
- }
|
Merci pour votre aide 
Message édité par Odissine le 20-10-2010 à 14:11:06