Hallo!
Bin neu hier und bräuchte Eure Hilfe.
Mein Problem:
Ich habe eine Online-Zimmerreservierung für mich selbst als Übung gemacht. Alles Ok. Aber was ich nicht mehr so hinbekomme ist, dass ich
aus der Datenbank die anreise und abreise(date) in ein Kalender übertragen möchte was schon zu dieser Zeit ausgebucht ist die Tage in z.B. in rot und nicht gebuchte, frei Tage in weiss ausgibt.
Da bin ich am Ende meiner PHP.
Ich kann die Daten aus der DB (anreise/abreise) in eine Tabelle ausgeben, damit der User sehen kann wann frei ist aber ich möchte das gerne mit einem Kalender lösen.
Könnt Ihr mir dabei helfen?
z.B:daten aus der DB:
anreise 20.03.2003
abreise 03.04.2003
soll im Kalender dan die Tage in Rot ausgeben.
Hier das Code für Kalender.
DANKE...
<?php
//die SQL-Abrage:
$sql="SELECT DATE_FORMAT(g.anreise, '%d.%m.%Y') AS Anreise,DATE_FORMAT(g.abreise, '%d.%m.%Y') AS Abreise,z.zimmernr AS Zimmernr,z.zimmername AS Zimmer FROM gebucht g,zimmer z WHERE z.zimmernr=g.zimmernr GROUP BY kundennr ORDER BY g.anreise ASC";
//Kalender
define("TAG", (60*60*24) );
if ( ! checkdate( $monat, 1, $jahr ) )
{
$heute = getdate();
$monat = $heute[mon];
$jahr = $heute[year];
}
$beginn = mktime ( 0, 0, 0, $monat, 1, $jahr );
$erster = getdate($beginn);
?>
<form action="<? print $PHP_SELF ?>" method="post">
<select name="monat">
<?php
$monate = Array("Januar", "Februar", "Maerz", "April",
"Mai", "Juni", "Juli", "August", "September",
"Oktober", "November", "Dezember");
for ( $x=1; $x <= count( $monate ); $x++ )
{
print "\t<option value=\"$x\"";
print ($x == $monat)?" SELECTED":"";
print ">".$monate[$x-1]."\n";
}
?>
</select>
<select name="jahr">
<?php
for ( $x=2003; $x<2007; $x++ )
{
print "\t<option";
print ($x == $jahr)?" SELECTED":"";
print ">$x\n";
}
?>
</select>
<input type="submit" value="Abfragen">
</form>
<p>
<?php
$days = Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
"Donnerstag", "Freitag", "Samstag");
print "<TABLE BORDER ='1'>\n";
foreach ( $days as $day )
print "\t<td><b>$day</b></td>\n";
for ( $zaehler=0; $zaehler < (6*7); $zaehler++ )
{
$tag = getdate( $beginn );
if ( (($zaehler) % 7) == 0 )
{
if ( $tag[mon] != $monat )
break;
print "</tr><tr>\n";
}
if ( $zaehler < $erster[wday] || $tag[mon] != $monat )
{
print "\t<td><br></td>\n";
}
else
{
print "\t<td>$tag[mday]</td>\n";
$beginn += TAG;
}
}
print "</tr></table>";
mysql_close($conn);
?>
Bin neu hier und bräuchte Eure Hilfe.
Mein Problem:
Ich habe eine Online-Zimmerreservierung für mich selbst als Übung gemacht. Alles Ok. Aber was ich nicht mehr so hinbekomme ist, dass ich
aus der Datenbank die anreise und abreise(date) in ein Kalender übertragen möchte was schon zu dieser Zeit ausgebucht ist die Tage in z.B. in rot und nicht gebuchte, frei Tage in weiss ausgibt.
Da bin ich am Ende meiner PHP.
Ich kann die Daten aus der DB (anreise/abreise) in eine Tabelle ausgeben, damit der User sehen kann wann frei ist aber ich möchte das gerne mit einem Kalender lösen.
Könnt Ihr mir dabei helfen?
z.B:daten aus der DB:
anreise 20.03.2003
abreise 03.04.2003
soll im Kalender dan die Tage in Rot ausgeben.
Hier das Code für Kalender.
DANKE...
<?php
//die SQL-Abrage:
$sql="SELECT DATE_FORMAT(g.anreise, '%d.%m.%Y') AS Anreise,DATE_FORMAT(g.abreise, '%d.%m.%Y') AS Abreise,z.zimmernr AS Zimmernr,z.zimmername AS Zimmer FROM gebucht g,zimmer z WHERE z.zimmernr=g.zimmernr GROUP BY kundennr ORDER BY g.anreise ASC";
//Kalender
define("TAG", (60*60*24) );
if ( ! checkdate( $monat, 1, $jahr ) )
{
$heute = getdate();
$monat = $heute[mon];
$jahr = $heute[year];
}
$beginn = mktime ( 0, 0, 0, $monat, 1, $jahr );
$erster = getdate($beginn);
?>
<form action="<? print $PHP_SELF ?>" method="post">
<select name="monat">
<?php
$monate = Array("Januar", "Februar", "Maerz", "April",
"Mai", "Juni", "Juli", "August", "September",
"Oktober", "November", "Dezember");
for ( $x=1; $x <= count( $monate ); $x++ )
{
print "\t<option value=\"$x\"";
print ($x == $monat)?" SELECTED":"";
print ">".$monate[$x-1]."\n";
}
?>
</select>
<select name="jahr">
<?php
for ( $x=2003; $x<2007; $x++ )
{
print "\t<option";
print ($x == $jahr)?" SELECTED":"";
print ">$x\n";
}
?>
</select>
<input type="submit" value="Abfragen">
</form>
<p>
<?php
$days = Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
"Donnerstag", "Freitag", "Samstag");
print "<TABLE BORDER ='1'>\n";
foreach ( $days as $day )
print "\t<td><b>$day</b></td>\n";
for ( $zaehler=0; $zaehler < (6*7); $zaehler++ )
{
$tag = getdate( $beginn );
if ( (($zaehler) % 7) == 0 )
{
if ( $tag[mon] != $monat )
break;
print "</tr><tr>\n";
}
if ( $zaehler < $erster[wday] || $tag[mon] != $monat )
{
print "\t<td><br></td>\n";
}
else
{
print "\t<td>$tag[mday]</td>\n";
$beginn += TAG;
}
}
print "</tr></table>";
mysql_close($conn);
?>