cs_didine6
Messages postés81Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention 7 août 2009
-
23 mai 2008 à 14:08
cs_didine6
Messages postés81Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention 7 août 2009
-
23 mai 2008 à 15:14
Bonjour
Voici un code avec comparaison de date.
Cela fonctionne parfaitement sauf quand $datedeb et $datfin est à cheval sur 2 mois (cf exemples ci dessous).
J'ai du mal utiliser la fonction date ou strtotime ou mktime, mais je ne vois pas où.
Si quelqu'un a le courage de regarder et l'envie de m'aider...ce serait super cool ?
$test=mysql_query("SELECT * FROM congesperiode WHERE numper='$id'");
while($enr=mysql_fetch_array($test)) { $datdeb=date("d-m-Y",strtotime($enr['anneedebut']."-".$enr['moisdebut']."-".$enr['jourdebut']));
$datfin=date("d-m-Y",strtotime($enr['anneefin']."-".$enr['moisfin']."-".$enr['jourfin']));
$i=1; $jourplusun=date("d-m-Y",mktime(0,0,0,date($enr['moisdebut']),date($enr['jourdebut']+$i),date($enr['anneedebut'])));
// C'est ici que viens le problème, dans le while, si $jourplusun=28-04-2008
// et $datfin=02-05-2008, ben ça ne va pas dans le while ! Pkoi ?
while($jourplusun<=$datfin) { $jourplusun=date("d-m-Y",mktime(0,0,0,date($enr['moisdebut']),date($enr['jourdebut']+$i),date($enr['anneedebut'])));
if(((datefr2($datedebut))==$datdeb) || ((datefr2($datefin))==$datdeb) || ((datefr2($datedebut))==$jourplusun) || ((datefr2($datefin))==$jourplusun)) {
echo "Cette date a déjà été prise";
echo "Retour au menu ici";
exit;
}
else {
//echo "ok";
$i++;
}
}
}
cs_didine6
Messages postés81Date d'inscriptionvendredi 19 novembre 2004StatutMembreDernière intervention 7 août 2009 23 mai 2008 à 14:24
Euh non, ma question n'équivaut pas du tout à ce que tu dis, ou laors j'ai mal compris.
Effectivement, ma comparaison de date ne fonctionne pas, et c'est là que je bloque.
J'ai lu un tas de choses sur les timestamp unix, les mktime et autre...mais j'y pige pas grand chose.