Comparaison dates php
angel_tn
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
angel_tn Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
angel_tn Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un problème dans mon code php
je veux comparer 2 dates dont la première récupéré à partir d'une base de donnée mysql mais sous la forme d'un string et non pas une date dd-mm--yyyy, et lautre la date courante moins 7 jours
alors j'ai fais ce code :
<?
$date=date("d-m-Y",time()-7*24*60*60);
echo $date;
$connexion=mysql_connect("localhost","root","");
mysql_select_db("planning")or die("connection impossible");
$id_base= mysql_select_db("planning",$connexion);
if($id_base)
{
$req="select * from bon ";
$res=mysql_query($req);
}
while($tab=mysql_fetch_array($res)){
echo "<br/>".strtotime($date);
echo " ".strtotime("02-07-2009");
echo "<br/>".strtotime($tab['dateE']);
echo "<br/>".$tab['dateE']."<br/><br/>";
if (strtotime($date)< strtotime($tab['dateE'])){
echo $tab['dateE'];
}
}
?>
le probleme cé que ce code affiche tout les dates qu se trouves dans ma base et non seulement qui sont supérieur à la date courante moins 7 jours.
Bah j'ai essayé de mettre des echo pour chaque étape, et j'ai trouvé que le problème due à la conversion de la date en seconde
$date=date("d-m-Y",time()-(7*24*60*60));
echo $date; --->02-07-2009
echo $tab['dateE']; ---->28-06-2009
echo "<br/>".strtotime($date); ------->1198969200
echo "<br/>".strtotime($tab['dateE']); ------->2016918000
Alors on remarque que 02-07-2009 >28-06-2007
mais 1198969200<2016918000
j'ai pas trouvé ou est le problème
merci d'avance pour votre aide
j'ai un problème dans mon code php
je veux comparer 2 dates dont la première récupéré à partir d'une base de donnée mysql mais sous la forme d'un string et non pas une date dd-mm--yyyy, et lautre la date courante moins 7 jours
alors j'ai fais ce code :
<?
$date=date("d-m-Y",time()-7*24*60*60);
echo $date;
$connexion=mysql_connect("localhost","root","");
mysql_select_db("planning")or die("connection impossible");
$id_base= mysql_select_db("planning",$connexion);
if($id_base)
{
$req="select * from bon ";
$res=mysql_query($req);
}
while($tab=mysql_fetch_array($res)){
echo "<br/>".strtotime($date);
echo " ".strtotime("02-07-2009");
echo "<br/>".strtotime($tab['dateE']);
echo "<br/>".$tab['dateE']."<br/><br/>";
if (strtotime($date)< strtotime($tab['dateE'])){
echo $tab['dateE'];
}
}
?>
le probleme cé que ce code affiche tout les dates qu se trouves dans ma base et non seulement qui sont supérieur à la date courante moins 7 jours.
Bah j'ai essayé de mettre des echo pour chaque étape, et j'ai trouvé que le problème due à la conversion de la date en seconde
$date=date("d-m-Y",time()-(7*24*60*60));
echo $date; --->02-07-2009
echo $tab['dateE']; ---->28-06-2009
echo "<br/>".strtotime($date); ------->1198969200
echo "<br/>".strtotime($tab['dateE']); ------->2016918000
Alors on remarque que 02-07-2009 >28-06-2007
mais 1198969200<2016918000
j'ai pas trouvé ou est le problème
merci d'avance pour votre aide
A voir également:
- Comparaison dates php
- Comparaison million milliard - Accueil - Technologies
- Nombre de jours entre deux dates excel - Guide
- Easy php - Télécharger - Divers Web & Internet
- Logiciel comparaison photo gratuit - Télécharger - Photo & Graphisme
- Expert php pinterest - Télécharger - Langages
4 réponses
si tes dates dans la BDD sont au format yyyy-mm-dd
pourquoi ne pas essayer:
pourquoi ne pas essayer:
$delta=7; $req="SELECT * FROM bon WHERE dateE > (NOW()-$delta)";
merci pour la réponse mais les dates qui sont dans ma base sont de vatype rchar et non pas date puisque j'utilise la même base pour un code java dont le type Date m'a causé des problèmes.