Plusieurs valeurs dans la fonction LIKE ?

Petit nouveau ! | 5 Messages

01 mars 2008, 10:13

Bonjour,

Ben me revoilà après 1 semaine , ayant eu beaucoup de difficulté a trouvé des réponse face au problème de recherche fulltext sur une base SQLite, j'ai changé le système pour une prise en charge en MySQL.

J'arrive donc maintenant à ne garder que les résultats qui comporte l'année 2007 dans le champs "description".

Mon problème est maintenant le suivant, je réalise la requête suivante:
$SQL = " FROM item INNER JOIN flux ON item.IDflux=flux.ID WHERE description LIKE ('%2007%')AND description RLIKE '[[:<:]]2007[[:>:]]'";
Ce qui me donne bien tout les résultats 2007 mais j'aimerais affiner et par exemple rajouter les critères de mois !
Par exemples, afficher uniquement la valeurs qui contienne à la fois 2007 et une des valeurs suivante :Aout, Septembre, octobre ??


Merci d'avance !

Mammouth du PHP | 881 Messages

01 mars 2008, 15:05

Et comment se lit ton code de date (où trouver qu'il s'agit d'août ou mai) ?
Si c'est dans description, ne suffit-il pas d'allonger quelque peu ta requête pour inclure AND description LIKE '%mois%' ?
Soyez artisans de paix

Petit nouveau ! | 5 Messages

01 mars 2008, 20:22

Effectivement c'est dans la balise description.

J'ai essayer de rajouter un OR ou un AND et ca ne semblait pas marcher !

Le but serait de par exemple de pour voir mettre Juillet 2007, Aout 2007, Septembre 2007,Octobre 2007.

Mammouth du PHP | 881 Messages

01 mars 2008, 20:40

Fais voir ta structure de base et donne-nous tes requêtes actuelles. Nous pourrons t'aider à les corriger au besoin.
Soyez artisans de paix

Petit nouveau ! | 5 Messages

02 mars 2008, 16:04

Salut,

Ben voila le problème est résolu. En enlevant le RLIKE, j'ai pu mettre un OR

pour info voici la ligne complete ! encore merci !!

Code : Tout sélectionner

$SQL = " FROM item INNER JOIN flux ON item.IDflux=flux.ID WHERE description LIKE ('%december 2007%') OR description LIKE ('%september 2007%') OR description LIKE ('%october 2007%') OR description LIKE ('%november 2007%')";

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

02 mars 2008, 16:14

Dis toi que tu ne devras jamais avoir de grosse base de données à traiter avec cette requête sous peine de subir des "ennuis" niveau perf.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute