PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Für jeden Tag ein Datum



anndi
10-11-2001, 13:23
Ich möchte ein Buchungssystem für Ferienwohnungen mit Mysql und PHP realisieren, aber ich habe das Problem, dass man eigentlich für jeden Tag das Datum braucht.
Gibt es unter Mysql eine Funktion, die das ermöglicht?:confused:

Hans-Georg Normann
10-11-2001, 17:25
Hi anndi

ich bin Newbie sowohl in PHP als auch in mySql. Das Problem besteht ja darin, daß jeder das Datum auf unteschiedlichste Art und Weise schreiben kann (10.10.01, 10.10.2001, 10/10/2001, ....). Die Gültigkeit kann man unter PHP mit explode und checkdate püfen.


$date='31.04.2001';
$d=explode('.', $date);
checkdate($d[1], $d[0], $d[2]) ? print 'OK' : print "$date ?" ;


Wenn das Datum gültig ist, gibt checkdate true zurück. Hoffe das hilft weiter.

Hans

anndi
10-11-2001, 19:52
Hallo Hans,

ich glaube, dass wir aneinander vorbeireden.
Ich möchte in einer Datenbank eine Spalte für Datum haben,
für jeden Tag eines und das ist miein Problem.

Oder vielleicht gibt es ja auch eine andere Lösung.

Danke Andi:)

Pingu
10-11-2001, 20:19
Hi andi,

ich hab es jetzt nicht ganz verstanden. Du möchtest für jedes Datum eine eigene Spalte haben?
Oder möchtest Du einfach nur eine Spalte für das Datum (vielleicht auch Uhrzeit), wann z.B. eine bestimmte Buchung erfolgt ist. D.h. z.B. wenn jemand eine Buchung vornimmt, dann wird ein Buchungsdatensatz eingefügt, der beinhaltet dann z.B. eindeutige Buchungs-ID, Kunden-ID, Objekt-ID (falls es mehrere Objekte zur Auswahl gibt), Check-in Datum, Check-out Datum, und Buchungsdatum & -zeit (wann die Buchung durchgeführt wurde). Da Check-in und Check-out Datum von Hand eingegeben werden (denke ich mal), wird dies nur ein einfaches Textfeld sein. Das Buchungsdatum dagegen könnte mySQL automatisch vergeben. Dazu müßtest diese Spalte einfach als TIMESTAMP und NOT NULL definiert sein. Wenn dann beim Eintragen hier nichts angegeben wird, fügt mySQL automatisch eine Time-Stamp ein. (der Rest siehe Manual (http://www.mysql.com/doc/))

-= Pingu =-

anndi
13-11-2001, 15:14
Hi

Ich möchte eine Datenbank die wie folgt aussieht:

Datum Wohnung1 Wohnung2 ...
01.01.2002
02.01.2002
03.01.2001
...

So soll die Datenvank aussehen.
Gibt es eine Funktion, die das ermöglicht.

Hans-Georg Normann
13-11-2001, 18:59
Hall anndi

Die Tabelle:


WohnungNr
AbDatum
BisDatum
Mieter
.................


Jetzt muß dein Code nur noch dafür sorgen, daß es keine Überschneidungen gibt. Je nachdem welche Datenbank du verwendest, muss das entweder dein PHP-Code erledigen oder besser, du kannst die Prüfung direkt der Datenbank übertragen.

Beispiel:
Tabellenname WJournal, gewünschte Wohnung 1, Mietbeginn 1.6.2002, Mietende 15.06.2002

SQL-Code

Select Count(WohnungNr) Buchungen from WJournal
Where WohnungNr = 1
And ("01.06.2002" Between AbDatum and BisDatum
Or "15.06.2002" Between AbDatum and BisDatum)


Ist Buchungen größer 0, dann kann keine Buchung erfolgen! Ich hoffe ich habe keine Fehler eingebaut.

Hans