Ik ben met mij site bezig en ik zit met een probleempje, ik heb een script waarbij je 2 datums moet opgeven en dan rekent het script uit hoeveel dagen/weken/maanden er tussen die twee datums zitten.
Het liefste zou ik een klein voorbeeld scriptje willen hebben.
Ok.. je hebt gezien hoe je die datum kan vergelijken? dan kan je controleren of de begindatum van de nieuwe reservering groter is dan de einddatum van de andere. Als dat het geval is, dan controleren of er IN DATZELFDE huisje nog een reservering is, die eerder begint dan de einddatum van de nieuwe reservering.
vb:
<?
$reservering_1 = '2005-12-12'; //einde eerste reservering
$reservering_2 = '2005-24-12'; //begin tweede reservering
$tijd1 = '2005-12-12'; // begin nieuwe reservering
$tijd2 = '2005-20-12'; // einde nieuwe reservering
if ($tijd1 >= $reservering_1 && $tijd2 < $reservering_2){
echo "dit huisje is vrij";
}
else{
echo "dit huisje is niet vrij";
}
?>
het beste kun je dit doen met een datetime veld in een MySQL tabel. Voor twee afspraken die elkaar niet mogen overlappen stel je dan de volgende voorwaarde:
1) De begintijd van afspraak 1 moet NA de eindtijd van afspraak 2 liggen OF
2) De begintijd van afspraak 2 moet NA de eindtijd van afspraak 1 liggen.
in MySQL kun je een query opstellen die er zo uit ziet:
SELECT afspraak
FROM afspraken
WHERE
van < '$tot' AND tot < '$van'
Als die query 0 resultaten oplevert zijn er geen overlaps. Verder moet je natuurlijk controleren of de plekken gelijk zijn, zoals al gezegd werd