Comparer deux date

Résolu/Fermé
rambad - 8 févr. 2008 à 12:08
 rambad - 8 févr. 2008 à 15:17
Bonjour,
J’ai une date de fin de validités des utilisateur dans une base de donnée et je veut comparer cette date avec la date système et afficher les non des utilisateur ou il leur reste 3 mois de validité.
J’utilise php
Merci d’avance

8 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
8 févr. 2008 à 12:27
Bonjour,

Je te conseille d'utiliser directement la requête SQL pour faire cette comparaison.
Par contre, la syntaxe est très changeante suivant le SGBD : tu utilises lequel ?

Xavier
0
merci de m'avoir repondu ,
j'utilise mysql,
0
Zabuza66 Messages postés 368 Date d'inscription vendredi 31 août 2007 Statut Membre Dernière intervention 26 novembre 2008 66
8 févr. 2008 à 12:37
0
la date dans la base de donnee est deja format date et j'ai deja utiliser cette fonction sa n'a pas marcher
la requette que j'ai utiliser est la suivante:
select * from user where ($date_valid_pass - $date) < 90
$date est la date systeme
$date_valid_pass est la date dans la base du donnee
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
8 févr. 2008 à 13:21
Bonjour,

As tu fais un echo $date pour voir si elle a le même format que celle de la base ?

en plus dans la condition WHERE il faut présiser sur quel champ de la table porte la condition

select * from user where ton_ champ_ date_valid_pass  < ($date+90)


@lain
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
8 févr. 2008 à 14:13
Je ferais plutôt directement ceci :

SELECT * FROM user WHERE TO_DAYS(date_col) - TO_DAYS(NOW()) <= 90;

Comme ça, pas besoin de t'embêter avec des dates php...
0
j'ai ajouter un echo sur la requette elle a afficher le resulta suivante:


select * from user where (2013-01-17 - 2008-02-08) < 90

je l'ai coppier et coller dans phpMyAdmin la requette afficher est la suivante:

SELECT *
FROM user
WHERE ( 2013 -01 -17 -2008 -02 -08 ) & lt;

90

et tous la table est afficher meme l'année 2013
0
merci Reivax962 votre solution etait la bonne et merci a vous tous
0