Hello,
Hallo,
In der Spalte "event" steht der Titel.
an datum event
------------- ------------- ------------------
1204 2007-04-30 Urlaub
815 2007-05-02 Urlaub
1 2007-05-02 UrlaubDa Du ein DBMS benutzt, benötigst Du für die Abfrage keine Schleife in der API-Funktion (also in PHP). Die "Schleife" ist nämlich in der Datenbank schon eingetragen.
Du beschaffst Dir ein Array mit den relevanten Daten.
In einer extra-Spalte könntest Du z.B. direkt den Farbwert für die Anzeige vorbereiten lassenselect an, datum, event, if(event='Urlaub','#00FF00','#FFFFFF') as farbe
from kalender -- habe vergessen, wie die Tabelle heißt
where (an = $an) and (datum between '2007-04-01' and '2007-04-30');Das gesamte Resultset übernummst Du in ein Array. Das ist bei 28-31 Tagen ja nichts Schlimmes
Dieses Array übergibst Du dann an deine Kalender-Darstellungsfunktion, die den HTML-String für die Ausgabe fertig macht. In diesen String kannst Du fas Feld
farbe
direkt übernehmen und musst nicht in PHP noch rumhampeln.
Das ist ja schon ein guter Ansatz, aber die Farbe wird in einer Wenn-Dann-Anweisung festgelegt, d. h.
Nö, das ein Lösungsweg.
while ($_rec = mysql_fetch_assoc($res))
{
$_kalender[] = $_rec;
}
if ($dm=Urlaub and $an=1)
Das kannst Du Dir schenken, weil in dem Resultset nur Ergebnisse sind für den Mitarbeiter.
$da = "<div style="font-weight:900; color:".$_kalender[$d-1]['farbe'].";">$d </div>";} .
Der Kalender wird durch eine Schleife erstellt.
Dagegen ist ja auch nichts einzuwenden
Dabei wird die Schleife mit $d bis zum Ende des Monats je einmal durchlaufen.
In der Schleife wird zuerst abgefragt, ob es ein Wochenende ist.
Wenn ja wird eine Farbe festgelegt, wenn nicht kommt meine Urlaubsabfrage, wenn diese dann aber auch nicht zutrifft, wird die Farbe des normalen Tages gezeigt.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
