Comment faire une recherche dans une date ?

Comment faire une recherche dans une date ? - PHP - Programmation

Marsh Posté le 26-10-2002 à 14:56:55    

Bonjour,
 
Voilà mon problème : j'ai une table dans laquelle j'ai un champs DATE sous la forme année/mois/jour (logique).
 
Or, je voudrais faire une requête SQL qui ne recherche que dans mois ou année (po les deux en même temps).
 
Style, j'veux un doc qui date du mois de mars (mais je sais pas quelle année) et bien il me sort tous les docs ayant dans DATE, le mois de mars. Pareil pour année.
 
Merci d'avance pour vos réponses...


---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 26-10-2002 à 14:56:55   

Reply

Marsh Posté le 26-10-2002 à 16:03:05    

une solution facile est de modifier ton script et ta base de donnée en mettant 1 champ pour jour un pour moie et un autre pour année


---------------
L'Internet serait une toile comme les autres si elle n'avait ses millions d'araignées ...
Reply

Marsh Posté le 26-10-2002 à 17:48:09    

MoRp][eUs a écrit a écrit :

une solution facile est de modifier ton script et ta base de donnée en mettant 1 champ pour jour un pour moie et un autre pour année




 
je ne peux pas car c'est un dossier que je reprends, et déjà plus de 1500 documents ont été enregistrés dans la base.
 
En fait, je fais un check-up mais je tiens po à toucher à la base de données.


---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 26-10-2002 à 17:55:38    

a ok alors essai de prendre le nom du dossier dans un variable et sépare la ensuite en 3 variable tableau jour mois année et utilise le nom du dossier comme pointeur


---------------
L'Internet serait une toile comme les autres si elle n'avait ses millions d'araignées ...
Reply

Marsh Posté le 26-10-2002 à 18:00:42    

Tu connais pas :
 
EXTRACT(MONTH FROM date) = $mois ?
 
Le problème que j'ai en fait, c'est qu'il recherche bien dans le mois, mais si j'ajoute l'année dans ma recherche, il m'affiche rien...
 
Du style :
 

Code :
  1. $sql="SELECT * FROM documents WHERE EXTRACT(MONTH FROM date) = $mois AND EXTRACT(YEAR FROM date) = $annee"


 
Le problème, c'est que les deux assemblés fout la merde, ça renvoie rien, alors même qu'il devrait.


Message édité par thenab le 26-10-2002 à 18:01:46

---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Marsh Posté le 26-10-2002 à 22:20:03    

Thenab a écrit a écrit :

Tu connais pas :
 
EXTRACT(MONTH FROM date) = $mois ?
 
Le problème que j'ai en fait, c'est qu'il recherche bien dans le mois, mais si j'ajoute l'année dans ma recherche, il m'affiche rien...
 
Du style :
 

Code :
  1. $sql="SELECT * FROM documents WHERE EXTRACT(MONTH FROM date) = $mois AND EXTRACT(YEAR FROM date) = $annee"


 
Le problème, c'est que les deux assemblés fout la merde, ça renvoie rien, alors même qu'il devrait.



Essaye :
$sql="SELECT * FROM documents WHERE (EXTRACT(MONTH FROM date) = $mois) AND (EXTRACT(YEAR FROM date) = $annee" )
Ca peut être du à un orddre de priorité d'exécution des conditions.
Si le EXTRACT passe après le AND alors tu te retrouve à comparer un mois et un booléen.

Reply

Marsh Posté le 26-10-2002 à 23:42:27    

Merci beaucoup, ca marche niquel... !!!!


---------------
Thenab - Quitte à passer pour un con, passe vite !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed