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 <a href='index.php'>ici</a>";
exit;
}
else {
//echo "ok";
$i++;
}
}
}
Didine