Nederbasse skrev:
> Hvordan checker jeg om 'låne fra' datoen er ledig i databasen ?
> Datoen bliver sat ind i dette format: Y-m-d
Det jeg selv gør er at benytte mig af unix timestampet.
Du skal i den tabel du bruger, have to felter der kan fortælle hvornår A
er reserveret fra og til:
| navn | fra | til |
som minimum.
Derefter kan du ved hjælp af mktime() lave et timestamp:
F.eks. vil jeg gerne låne A fra den 12. marts, 2006 til den 14. marts, 2006.
$fra = mktime(0, 0, 0, 3, 12, 2006);
$til = mktime(0, 0, 0, 3, 14, 2006);
Når du så skal vise hvilket tidsrum den er lejet ud i:
echo 'Reserveret fra '.date("Y-m-d", strftime($fra)).' til
'.date("Y-m-d", strftime($til));
Når du så vil tjekke om A er udlejet i den periode
$nyfra = mktime(0, 0, 0, 3, 13, 2006);
$nytil = mktime(0, 0, 0, 3, 26, 2006);
if($nyfra > $fra && $nyfra < $til)
{
echo 'Den er desværre reserveret.';
}
elseif($nytil > $nyfra && $nytil < $til)
{
echo 'Den er desværre reserveret.';
}
Der er lige lidt debugging i det her, for du skal lave noget gennemgang
i dagene i tilfælde nogen nu skulle prøve at reservere et emne før og
efter $fra og $til stampensene. Dette resulterer i at kunden ikke kan se
at emnet er reserveret. Men leg lidt med det.
--
Dan Storm - storm at err0r dot dk /
http://err0r.dk
Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!