comapraison de deux dates

camille
Invité n'ayant pas de compte PHPfrance

29 avr. 2005, 11:54

salut!
je voudrais juste savoir s'il existe une fonction qui permet de comparer deux dates au format mysql c'est a dire yyyy-mm-dd. je voudrai simplement que dans un test : if (2005-05-05 > 2005-05-20) par exemple il me renvoit false

merci d'avance

Administrateur PHPfrance
Administrateur PHPfrance | 430 Messages

29 avr. 2005, 12:15

ben moi ca marche sans problemes, faut juste transformer les dates en chaines de caractères : pour ceux qui le savent pas, c'est pour pouvoir utiliser le tri alphanumérique (alphabétique) qu'on inverse l'ordre dans les dates 'YYYY-MM-DD'

Code : Tout sélectionner

SELECT if('2005-05-05' > '2005-05-20',1,0);
ou alors utiliser la fonction date

Code : Tout sélectionner

SELECT if(date('2005-05-05') > date('2005-05-20'),1,0);

camille
Invité n'ayant pas de compte PHPfrance

29 avr. 2005, 16:01

merci de ta réponse ca m'a aidé ;)


j'aimerais maintenant verifier si une date est compris dans un intervalle de date donc dans ma requete sql , j'ai :

Code : Tout sélectionner

... WHERE Annivdate BETWEEN ('".$date1."' AND '".$date2."')
mais en l'éxécutant, j'obtiens :

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0, 30' at line 1

je ne comprends pas puisque a aucun moment je n'ai défini de limit

Administrateur PHPfrance
Administrateur PHPfrance | 430 Messages

30 avr. 2005, 17:03

si tu balance ta requête dans ton code php c'est pas normal.
par contre si tu passe par un éditeur (style phpmyadmin) ils ajoutent souvent automatiquement un limit (0,30 dans le cas de phpmyadmin)

Pour en revenir a ton pb je te conseille formtement d'utiliser la fonction date plutot que les chaînes ....

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

30 avr. 2005, 17:04

Déjà, je commencerais par enlever les parenthèses.

Ensuite... tu peux mettre ta ligne de code en entier ?