Si date du jour <=
Résolu/Fermé
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
-
31 juil. 2013 à 14:12
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 1 août 2013 à 11:04
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 1 août 2013 à 11:04
A voir également:
- Si date du jour <=
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mettre à jour ses pilotes - Guide
- Jm date désabonnement ✓ - Forum Consommation & Internet
11 réponses
apprendreEtSeDevelopper
Messages postés
65
Date d'inscription
vendredi 22 juillet 2011
Statut
Membre
Dernière intervention
18 octobre 2013
6
31 juil. 2013 à 14:22
31 juil. 2013 à 14:22
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
31 juil. 2013 à 14:25
31 juil. 2013 à 14:25
Salut,
tout va dépendre du format dans lequel ta date est stockée
tout va dépendre du format dans lequel ta date est stockée
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
31 juil. 2013 à 14:26
31 juil. 2013 à 14:26
Merci pour vos réponses
Voilà ce que j'ai fais, mais ca ne fonctionne pas :
Dans ma table , le champ est au format 'Date'
Voilà ce que j'ai fais, mais ca ne fonctionne pas :
$DateDuJour = date ('Y/m/d'); $DateLimite = $data['LimiteDuCastingue']; if ($DateLimite == $DateDuJour){$Affiche = 'Dernier jour !';} elseif ($DateLimite >= $DateDuJour){$Affiche = 'Terminé';} else {$affiche = $data['LimiteDuCastingue'];} echo $Affiche;
Dans ma table , le champ est au format 'Date'
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
Modifié par Sinistrus le 31/07/2013 à 14:31
Modifié par Sinistrus le 31/07/2013 à 14:31
Je ne lui ai pas donné de type :$
$req = mysql_query("SELECT * FROM tb_Castingue ORDER BY MiseEnLigne;");
while($data = mysql_fetch_assoc($req)){
$req = mysql_query("SELECT * FROM tb_Castingue ORDER BY MiseEnLigne;");
while($data = mysql_fetch_assoc($req)){
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
31 juil. 2013 à 14:33
31 juil. 2013 à 14:33
Salut !
Surement pcq $DateLimite est un string ;-)
Essaye $DateLimite = date('Y/m/d', strtotime($data['LimiteDuCastingue']));
Surement pcq $DateLimite est un string ;-)
Essaye $DateLimite = date('Y/m/d', strtotime($data['LimiteDuCastingue']));
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
31 juil. 2013 à 14:41
31 juil. 2013 à 14:41
Il faut que tu mettes tes 2 variables dans un format similaire pour les comparer.
$DateDuJour = date ('Ymd');
$DateLimite = date('Ymd', strtotime($data['LimiteDuCastingue']));
ou bien tu peux passer par un objet date, mais comme ça je pense que ça va fonctionner
$DateDuJour = date ('Ymd');
$DateLimite = date('Ymd', strtotime($data['LimiteDuCastingue']));
ou bien tu peux passer par un objet date, mais comme ça je pense que ça va fonctionner
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
31 juil. 2013 à 14:50
31 juil. 2013 à 14:50
Merci merci merciiiiii ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
Modifié par Sinistrus le 31/07/2013 à 16:07
Modifié par Sinistrus le 31/07/2013 à 16:07
svp, encore un truc :
Je n'arrives pas à afficher la date au format d/m/Y
Pouvez-vous m'aider svb ?
setlocale (LC_TIME, 'fr_FR.utf8','fra'); $DateJ = date('d/m/Y'); $DateDuJour = strftime("d/m/Y", strtotime($DateJ)); $DateLimite = strftime('d/m/Y', strtotime($data['LimiteDuCastingue'])); if ($DateLimite < $DateDuJour){$Affiche = $DateLimite;} elseif ($DateLimite == $DateDuJour){$Affiche = 'Dernier jour !';} elseif ($DateLimite > $DateDuJour){$Affiche = 'Terminé';} else {$affiche = $DateLimite;} echo $Affiche;
Je n'arrives pas à afficher la date au format d/m/Y
Pouvez-vous m'aider svb ?
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
31 juil. 2013 à 16:11
31 juil. 2013 à 16:11
pourquoi tu passes par un strftime maintenant ?
Ton script fonctionne ? les paramètres que tu passes à ta fonction ne sont pas bons.
https://www.php.net/strftime
c'était très bien avec une fonction date() je sais pas ce que t'es allé chercher là...
Ton script fonctionne ? les paramètres que tu passes à ta fonction ne sont pas bons.
https://www.php.net/strftime
c'était très bien avec une fonction date() je sais pas ce que t'es allé chercher là...
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
1 août 2013 à 08:17
1 août 2013 à 08:17
+1 pour TheBishop !
D'autant plus qu'avec date() tu peux mettre le format que tu souhaites :
$today = date('d/m/Y');
$dateLimite = date('d/m/Y', strtotime$data['LimiteDuCastingue']));
D'autant plus qu'avec date() tu peux mettre le format que tu souhaites :
$today = date('d/m/Y');
$dateLimite = date('d/m/Y', strtotime$data['LimiteDuCastingue']));
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
1 août 2013 à 09:14
1 août 2013 à 09:14
je conseille quand même un format Ymd pour une comparaison numérique ;)
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
1 août 2013 à 10:04
1 août 2013 à 10:04
Après c'est comme il veut ^^
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
1 août 2013 à 09:59
1 août 2013 à 09:59
Merci à tous !
Je ne sais pas, vu que c'est un affichage public, je ne sais pas si le Ymd serait le bienvenue...
Toute façon, vu qu'il fonctionne et qu'il n'y a pas de problème, je vous remercie pour votre aide.
<?php $DateDuJour = date ('d/m/Y'); $DateLimite = date('d/m/Y', strtotime($data['LimiteDuCastingue'])); if ($DateLimite > $DateDuJour){$Affiche = $DateLimite;} elseif ($DateLimite == $DateDuJour){$Affiche = 'Dernier jour !';} elseif ($DateLimite < $DateDuJour){$Affiche = 'Terminé';} else {$affiche = $DateLimite;} echo $Affiche; ?>a fonctionné.
Je ne sais pas, vu que c'est un affichage public, je ne sais pas si le Ymd serait le bienvenue...
Toute façon, vu qu'il fonctionne et qu'il n'y a pas de problème, je vous remercie pour votre aide.
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
1 août 2013 à 10:03
1 août 2013 à 10:03
tu verras le mois prochain, ça ne fonctionnera plus ;)
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
1 août 2013 à 10:04
1 août 2013 à 10:04
Oups... tu as raison ! Il ne fonctionne plus !
Hé ben...
Hé ben...
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
1 août 2013 à 10:11
1 août 2013 à 10:11
C'est pas bien compliqué à comprendre.
Déjà, tu essaies de faire une comparaison numérique sur des chaines de caractères...
Je ne sais plus exactement comme ça fonctionne côté PHP, mais il me semble qu'il compare les valeurs numériques de ta variable et s'arrête dès qu'une trouve un caractère non numérique.
En gros, tu compares les jours entre eux.
Si tu passes par un date("Ymd"), tu as une chaine de caractère qui comprend l'année, le mois et le jour, tu pourras alors comparer tes dates tranquillement.
Sinon, comme je l'ai dis, tu passes par un objet date, ça marche aussi et tu peux l'afficher dans le format qui te convient.
Déjà, tu essaies de faire une comparaison numérique sur des chaines de caractères...
Je ne sais plus exactement comme ça fonctionne côté PHP, mais il me semble qu'il compare les valeurs numériques de ta variable et s'arrête dès qu'une trouve un caractère non numérique.
En gros, tu compares les jours entre eux.
Si tu passes par un date("Ymd"), tu as une chaine de caractère qui comprend l'année, le mois et le jour, tu pourras alors comparer tes dates tranquillement.
Sinon, comme je l'ai dis, tu passes par un objet date, ça marche aussi et tu peux l'afficher dans le format qui te convient.
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
1 août 2013 à 10:09
1 août 2013 à 10:09
Et donc, soit je fais un Ymd soit pas de calcul correct ?
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
1 août 2013 à 10:28
1 août 2013 à 10:28
$today = new DateTime();
$dateLimite = new DateTime();
$dateLimite->setTimestamp(strtotime($data['LimiteDuCastingue']));
if ($DateLimite > $DateDuJour){$Affiche = $DateLimite->format('d/m/Y');}
elseif ($DateLimite == $DateDuJour){$Affiche = 'Dernier jour !';}
elseif ($DateLimite < $DateDuJour){$Affiche = 'Terminé';}
else {$affiche = $DateLimite->format('d/m/Y');}
echo $Affiche;
$dateLimite = new DateTime();
$dateLimite->setTimestamp(strtotime($data['LimiteDuCastingue']));
if ($DateLimite > $DateDuJour){$Affiche = $DateLimite->format('d/m/Y');}
elseif ($DateLimite == $DateDuJour){$Affiche = 'Dernier jour !';}
elseif ($DateLimite < $DateDuJour){$Affiche = 'Terminé';}
else {$affiche = $DateLimite->format('d/m/Y');}
echo $Affiche;
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
1 août 2013 à 10:28
1 août 2013 à 10:28
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
Modifié par ThEBiShOp le 1/08/2013 à 10:34
Modifié par ThEBiShOp le 1/08/2013 à 10:34
quelques petites erreurs ^^
$today ou $DateDuJour ?
$dateLimite ou $DateLimite ?
la comparaison d'égalité ne marchera pas. Tu compares un objet à un autre objet, un objet ne peut être égal qu'à lui même.
il faut comparer des valeurs, et non pas des objets
$today ou $DateDuJour ?
$dateLimite ou $DateLimite ?
la comparaison d'égalité ne marchera pas. Tu compares un objet à un autre objet, un objet ne peut être égal qu'à lui même.
il faut comparer des valeurs, et non pas des objets
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
1 août 2013 à 10:35
1 août 2013 à 10:35
$today = new DateTime(); $dateLimite = new DateTime(); $dateLimite->setTimestamp(strtotime('2013-07-02')); if ($dateLimite->format('Ymd') > $today->format('Ymd')){$affiche = $dateLimite->format('d/m/Y');} elseif ($dateLimite->format('Ymd') == $today->format('Ymd')){$affiche = 'Dernier jour !';} elseif ($dateLimite->format('Ymd') < $today->format('Ymd')){$affiche = 'Terminé';} else {$affiche = $dateLimite->format('d/m/Y');} echo $affiche;
là ça fonctionne.
jeremy.s
Messages postés
1226
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
79
1 août 2013 à 10:43
1 août 2013 à 10:43
Pardon pour les erreur de syntaxe dans les variables ^^
Sinon les comparaisons avec == marchent normalement, je l'avais fait dans un projet précédent et ca marchait parfaitement. Un while($date <= $dateLimite) il me semble
Sinon les comparaisons avec == marchent normalement, je l'avais fait dans un projet précédent et ca marchait parfaitement. Un while($date <= $dateLimite) il me semble
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
1 août 2013 à 10:39
1 août 2013 à 10:39
Non, il m'envois tout en Terminé :p
$today = new DateTime(); $dateLimite = new DateTime(); $dateLimite->setTimestamp(strtotime('2013-07-02')); if ($dateLimite->format('Ymd') > $today->format('Ymd')){$affiche = $dateLimite->format('d/m/Y');} elseif ($dateLimite->format('Ymd') == $today->format('Ymd')){$affiche = 'Dernier jour !';} elseif ($dateLimite->format('Ymd') < $today->format('Ymd')){$affiche = 'Terminé';} else {$affiche = $dateLimite->format('d/m/Y');} echo $affiche;
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
1 août 2013 à 10:41
1 août 2013 à 10:41
oui, normal, j'ai laissé une date de test, remplace par ta valeur
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
1 août 2013 à 10:44
1 août 2013 à 10:44
Prffff, c'est le problème du copy/past (désolé)
Effectivement, ca fonctionne ^^
Mer reste plus qu'a remplacer la date du jour par celle du serveur et c'est ok :p
Merci encore à tous pour votre aide précieuse !
Effectivement, ca fonctionne ^^
Mer reste plus qu'a remplacer la date du jour par celle du serveur et c'est ok :p
Merci encore à tous pour votre aide précieuse !
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
1 août 2013 à 10:45
1 août 2013 à 10:45
$today = new DateTime(); prend automatiquement la date du jour.
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
1 août 2013 à 11:04
1 août 2013 à 11:04
Encore une fois merci !