Hi,
ich habe mit PHP einen Kalender gebastelt. Dieser wird mit der Funktion getCalender aufgerufen. In der Variablen $date ist der aktuelle timestamp gespeichert.
Hier die Funktion:
Nicht über das Layout wundern. Die Tage des Monats werden komplett nebeneinander in einer Zeile angezeigt .
Nun das Problem. Es existiert eine MySql-DB mit den Felder "id", "von" und "bis". Diese sind im Format DATE (außer id natürlich). Wie würde nun am besten die MySQL - Abfrage aussehen, damit die jeweilgen Zeiträume farbig markiert werden? Der aktueller Tag wird bereits markiert wie im Code zu sehen.
Gruss
Andi
ich habe mit PHP einen Kalender gebastelt. Dieser wird mit der Funktion getCalender aufgerufen. In der Variablen $date ist der aktuelle timestamp gespeichert.
Hier die Funktion:
Code:
//AB HIER DIE FUNKTION getCalender
//------------------------------------------------------------------------------------------------
function getCalender($date,$headline) {
$sum_days = date('t',$date); //$sum_days enthält die Anzahl Tage des aktuellen Monates ($date ist der aktuelle übergebene Timestamp)
$LastMonthSum = date('t',mktime(0,0,0,(date('m',$date)-1),0,date('Y',$date))); //$LastMonthSum enthält die Anzahl Tage des letzten Monates. Es wird nur -1 von m abgezogen.
foreach( $headline as $key => $value ) {
echo "<div class=\"day headline\">".$value."</div>";
} echo "<div class=\"clear\"></div>";
for( $i = 1; $i <= $sum_days; $i++ ) { //Schleife läuft sooft wie der Monat Tage hat z.B. 31 ($sum_days)
$day_name = date('D',mktime(0,0,0,date('m',$date),$i,date('Y',$date))); //$day_name enthält den aktuellen Tagnamen in Englisch
if( $i == date('d',$date) AND date('m') == date('m',$date)) {
echo "<div class=\"day current\">".sprintf("%02d",$i)."</div>\n"; //aktueller Tag
} else {
echo "<div class=\"day normal\">".sprintf("%02d",$i)."</div>\n"; //normaler Tag
}
}
}
//ENDE getCalender
//------------------------------------------------------------------------------------------------
Nicht über das Layout wundern. Die Tage des Monats werden komplett nebeneinander in einer Zeile angezeigt .
Nun das Problem. Es existiert eine MySql-DB mit den Felder "id", "von" und "bis". Diese sind im Format DATE (außer id natürlich). Wie würde nun am besten die MySQL - Abfrage aussehen, damit die jeweilgen Zeiträume farbig markiert werden? Der aktueller Tag wird bereits markiert wie im Code zu sehen.
Gruss
Andi