Moin,
ich habe in einer Datenbanktabelle einen Datumszeitraum abgespeichert.
Z.b. 18.10.2011 bis 23.10.2011.
Die werden alle einzelnd gespeichert also:
18.10.2011
19.10.2011
20.10.2011
21.10.2011
22.10.2011
23.10.2011
Nun möchte ich diese Daten in einem Kalender unterbringen und markieren damit zu sehen ist, dass der bestimmte Tag ausgebucht ist.
Mein Kalenderscript sieht folgendermaßen aus:
Der Kalender funktioniert soweit aber die Markierung der eingegebenen Daten aus der Datenbank bekomme ich einfach nicht hin. :/
Den aktuellen Tag kann ich auslesen und markieren aber nicht die, die aus der Datenbank übergeben werden.
Leider konnte mir bisher noch niemand wirklich helfen.
Hat jemand für mich einen Tipp/Denkanstoß wo ich ansetzen kann?
Viele Grüße
Paul
ich habe in einer Datenbanktabelle einen Datumszeitraum abgespeichert.
Z.b. 18.10.2011 bis 23.10.2011.
Die werden alle einzelnd gespeichert also:
18.10.2011
19.10.2011
20.10.2011
21.10.2011
22.10.2011
23.10.2011
Nun möchte ich diese Daten in einem Kalender unterbringen und markieren damit zu sehen ist, dass der bestimmte Tag ausgebucht ist.
Mein Kalenderscript sieht folgendermaßen aus:
PHP-Code:
<?PHP $month = isset($_GET['month']) ? intval($_GET['month']) : date('n');
$year = isset($_GET['year']) ? intval($_GET['year']) : date('Y');
$options['today_class'] = "background-color:#008bb8; font-weight:bold; color:#fff;";
$weekdays = array('So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa');
$weekdays = array('So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa');
$months = array(
'01' => 'Januar',
'02' => 'Februar',
'03' => 'März',
'04' => 'April',
'05' => 'Mai',
'06' => 'Juni',
'07' => 'Juli',
'08' => 'August',
'09' => 'September',
'10' => 'Oktober',
'11' => 'November',
'12' => 'Dezember'
);
$prev_symbol = "«";
$next_symbol = "»";
$summary = "Belegungsplan";
$caption = "Belegungsplan";
$options['month_link'] = '<a href="'.$_SERVER['PHP_SELF'].'?month=%d&year=%d&Titel='.$Titel.'">%s</a>';
$total_days = date('t', mktime(0, 0, 0, $month, 1, $year));
$day_offset = date('w', mktime(0, 0, 0, $month, 1, $year));
list($n_month, $n_year, $n_day) = split(', ', strftime('%m, %Y, %d'));
$day_highlight = (($n_month == $month)."&&".($n_year == $year));
list($n_prev_month, $n_prev_year) = split(', ', strftime('%m, %Y', mktime(0, 0, 0, $month-1, 1, $year)));
$prev_month_link = sprintf($options['month_link'], $n_prev_month, $n_prev_year, $prev_symbol);
list($n_next_month, $n_next_year) = split(', ', strftime('%m, %Y', mktime(0, 0, 0, $month+1, 1, $year)));
$next_month_link = sprintf($options['month_link'], $n_next_month, $n_next_year, $next_symbol);
echo '
<table border="0" summary="'.$summary.'" style="width: 400px;">
<caption>'.$caption.'</caption>
<thead>
<tr>
<th style="background-color:#647b8d;">'?>
<?PHP
if (date('m') >= $month AND date('Y') == $year):
else:
echo $prev_month_link;
endif;
?>
<?PHP echo '</th>
<th colspan="5">'.$months[strftime('%m', mktime(0, 0, 0, $month, 1, $year))].' '.$year.'</th>
<th style="background-color:#647b8d;">'.$next_month_link.'</th>
</tr>';
echo "<tr>\n";
foreach ($weekdays as $weekday)
{
echo "\t";
echo "<th>".$weekday."</th>\n";
echo "\n";
}
echo "\n";
echo "\n";
echo "</tr>
</thead>
<tbody>\n";
echo "<tr>\n";
if ($day_offset > 0) {
for ($i=0; $i<$day_offset; $i++)
{
echo "\t";
echo '<td class="empty_cell">';
echo "\n";
}
}
for ($day=1; $day<=$total_days; $day++)
{
if ($day_highlight && ($day == $n_day) && ($month == $n_month))
{
echo "\t";
echo '</td>
<td id="day_'.$day.'" style="'.$options['today_class'].'">'.$day.'';
echo "\n";
}
else {
echo "\t";
echo '</td>
<td id="day_'.$day.'">'.$day.'</td>';
echo "\n";
}
$day_offset++;
if ($day_offset == 7) {
$day_offset = 0;
if ($day < $total_days)
{
echo "</tr>\n<tr>";
}
}
}
if ($day_offset > 0)
{
$day_offset = 7-$day_offset;
}
if ($day_offset > 0)
{
for ($i=0; $i< $day_offset; $i++)
{
echo '<td class="empty_cell">';
echo "\n";
}
}
?>
Den aktuellen Tag kann ich auslesen und markieren aber nicht die, die aus der Datenbank übergeben werden.
Leider konnte mir bisher noch niemand wirklich helfen.
Hat jemand für mich einen Tipp/Denkanstoß wo ich ansetzen kann?
Viele Grüße
Paul
Kommentar