Hoi allemaal,

Ik ben bezig met een script waarbij de gebruiker elke dag iets in zou moeten vullen. De datum van de dag wordt opgeslagen in een database. Nu vroeg ik me ook af of het mogelijk is om juist de nog niet ingevulde datums weer te geven.. dus 19-02-2006 en 21-02-2006 zijn wel ingevult, maar 20-02-2006 nog niet, dat hij die 20-02-2006 dan weergeeft in een dropdown menuutje. Hoe zou je dit moeten doen?

Ik was zelf al een beetje op weg, alleen kom ik er niet meer uit:

<?php
$resultaat = mysql_query("SELECT DISTINCT(datum) AS datum FROM contents WHERE userid=".$id." AND datum > DATE_SUB(CURDATE(), INTERVAL 10 DAY)") or die(mysql_error());
$count = mysql_numrows($resultaat);
$datums = array();
while ($rij = mysql_fetch_assoc($resultaat)) {
$datums[]=$rij['datum'];
}
sort($datums);

for ($i=0; $i<=$count; $dedatum = date("begin datum", strtotime('+1 days'), $i++)) {
if (!in_array($dedatum, $datums)) {
$niet_ingevulde_datums[] = $datums;
}
}
?>

Bedankt alvast!
Ik denk dat het eenvoudigste is om vooraf alle datums te laten genereren.. en dat bij het invullen de records worden geüpdate i.p.m. toegevoegd.

Op die manier kun je eenvoudig 'lege' records opzoeken die voor de huidige datum 'now()' ligt..

Misschien niet de mooiste manier, maar wel een zeer effectieve.. scheelt een hele boel code en rekenwerk ;)
Hoe bedoel je dat precies? moet ik alle bestaande datums in de database zetten?
Euhm, nouja.. Vanaf 'nu' tot.. laten we zeggen.. een jaar vooruit (:

Dat zijn maar 365 records, dus valt reuze mee..

Je zou zelfs een check kunnen maken dat als bijv. binnen 1 maand een nieuw jaar begint, je automatisch 365/366 nieuwe records laat toevoegen (denk aan schrikkeljaren).. Op die manier blijft je script altijd actueel (;
Om de code zo eenvoudig mogelijk te houden kun je er ook vooraf 10 jaar in zetten.. (:

(zo'n 3652 records)

Hoe groot acht je immers de kans dat over 10 jaar je script nog steeds wordt gebruikt? ik gok +/- 0% kans (;

Reageren