Antworten auf deine Fragen:
Neues Thema erstellen

Idee für Problem bei Kalender

greenthunder

Nichtskönner

Hallo,

ich bin gerade dabei für die Internetseite einer Ferienwohnung einen Belegungskalender zu basteln. Der Nutzer wählt einen Monat aus und bekommt dann im Kalender angezeigt, an welchen Tagen die Ferienwohnung bereits belegt ist.
Ich habe aus ein paar Scripten es soweit angepasst, wie ich es brauche. Die Belegungszeiten sind in einer Datenbank gespeichert.
Mein Problem ist nun, dass immer nur der letzte Eintrag der Datenbank im Kalender angezeigt wird. Wenn ich mir meinen Code anschaue, dann ist das auch logisch, aber ich habe einfach keine Idee, wie ich es hinbekommen könnte, dass alle Belegungszeiten angezeigt werden.
Hat jemand einen Tipp für mich?

Datenbank:
Code:
`gaeste` (
`id` tinyint(3) NOT NULL,
`ankunft` int(10) NOT NULL,
`abreise` int(10) NOT NULL,
`storniert` binary(1) NOT NULL default '0',
PRIMARY KEY  (`id`)
)

Quellcode:
Code:
if ($_POST[step]=="eins") 
	{
	$monat=$_POST[mon];
	$jahr=$_POST[jahr];
	} 
	else 
		{
		$monat=date("n");
		$jahr=date("Y");

		}
$erster=date("w", mktime(0,0,0,$monat,1,$jahr));
$insgesamt=date("t");
$heute=date("d");

include("Datenbank");
	$abfrage = "SELECT * FROM gaeste";
  	$ergebnis = mysql_query($abfrage);
  	while($row = mysql_fetch_object($ergebnis))
		{
		$storniert = $row->storniert;
		if ($storniert==0)
			{
			$ankunft  = $row->ankunft;
			$abreise  = $row->abreise;
			}
		
		$belegttagstart=date("d",$ankunft);
		$belegttagende=date("d",$abreise);
		$belegtmonatstart=date("n",$ankunft);
		$belegtmonatende=date("n",$abreise);
		$belegtjahrstart=date("Y",$ankunft);
		$belegtjahrende=date("Y",$abreise);
		}
		
$monate=array("Januar","Februar","März","April","Mai",
              "Juni","Juli","August", "September","Oktober",
              "November","Dezember");
if($erster==0){$erster=7;}
echo '<table border="0" style="font-size:8pt; font-family:Verdana">';
echo '<th colspan="7" align="center" style="font-size:12pt; font-family:Arial; color:#ff9900;">'.$monate[$monat-1].' '.$jahr.'</th>';
echo '<tr><td style="color:#666666"><b>Mo</b></td><td style="color:#666666"><b>Di</b></td>';
echo '<td style="color:#666666"><b>Mi</b></td><td style="color:#666666"><b>Do</b></td>';
echo '<td style="color:#666666"><b>Fr</b></td><td style="color:#0000cc"><b>Sa</b></td>';
echo '<td style="color:#cc0000"><b>So</b></td></tr>';
echo "<tr>";
$i=1;
while($i<$erster){echo "<td></td>"; $i++;}
$i=1;
while($i<=$insgesamt)
{
$rest=($i+$erster-1)%7;
if($i==$heute && !isset($_POST[step]) || $i>=$belegttagstart && $i <=$belegttagende && $jahr==$belegtjahrstart && $monat==$belegtmonatstart){echo '<td style="font-size:8pt; font-family:Verdana; background:#ff0000;" align=center>';}
else{echo '<td style="font-size:8pt; font-family:Verdana" align=center>';}
if($i==$heute && !isset($_POST[step]) || $i>=$belegttagstart && $i <=$belegttagende && $jahr==$belegtjahrstart && $monat==$belegtmonatstart){echo "<span style='color:#ffffff;'>$i</span>";}
else if($rest==6){echo "<span style='color:#0000cc'>$i</span>";}
else if($rest==0){echo "<span style='color:#cc0000'>$i</span>";}
else{echo "$i";}
echo "</td>";
if($rest==0){echo "</tr><tr>";}
$i++;
}
echo "</tr>";
echo "</table>";
 

r3nt5ch3r

~ Allround pG ~

AW: Idee für Problem bei Kalender

Code:
while($row = mysql_fetch_object($ergebnis))

die Schleife wird so oft durchlaufen wie es Gäste gibt, jedoch überschreiben sich die Variablen innerhalb der Schleife bei jedem Durchgang, sodass am Ende nur einer übrig bleiben kann!

1. entweder PHP-Lernen (das Skript ist absoluter müll)
2. oder ein Skript bauen lassen (ich biete mich da gerne an, jedoch nicht umsonst^^)
3. oder nach einem besseren "vorgefertigtem" Skript suchen

btw: mach wenigstens aus dem tinyint ein int, damit du nicht allzu schnell auf probleme stößt xD
 
Zuletzt bearbeitet:

greenthunder

Nichtskönner

AW: Idee für Problem bei Kalender

Ja, warum nur ein Eintrag übrig bleibt ist mir klar, was mir fehlt ist die Idee, dass es eben alle anzeigt.

zu 1. das wäre wohl das Sinnvollste, als Anfang könntest du mir z.B. gleich mal erklären warum das Skript Müll ist

zu 2. wenn du es bauen würdest, wäre es mit Sicherheit nicht umsonst, wir würden es schon nutzen ;-)
 

CIX88

Aktives Mitglied

AW: Idee für Problem bei Kalender

> gleich mal erklären warum das Skript Müll ist
Ich denke mal:
- unsauberer Umgang mit Variablen
- Unterschied zwischen String und einer Konstante ist nicht bekannt
- POST-Daten werden ohne Sicherheitsabfragen ausgewertet
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben