[PHP/MySQL] Listenerstellung

mkk-network

Member
13 August 2007
19
1
Moin!
Ausgangssituation:
Ich habe ein Problem mit einer MySQL Abfrage. Ich habe bei einem Projekt eine Kundentabelle mit Anreisen und Abreisen. Des Weiteren habe ich eine Tabelle, an welchem Tag wie viele Zimmer belegt sind.
Struktur:
Tabelle Kunde
id | anreise | abreise

Tabelle Belegung
tag | zimmer_belegt

anreise ist immer der Timestamp des Tages um 00:00:00
abreise ist immer der Timestamp des Tages um 23:59:59

Problem:
Ich möchte jetzt eine Liste erstellen für jeden Tag eines Monats mit den Anreisen, Abreisen und Belegungen.
Der einzige Weg der mir einfällt, wäre eine Abfrage über anreisen, eine über abreisen und eine über Belegung. Und das ganze dann per PHP zusammenfriemeln.
Aber viel lieber hätte ich es eigentlich in einer Abfrage. Kennt da jeamnd nen weg?


Grüße
terk
 
Moin!
Ausgangssituation:
Ich habe ein Problem mit einer MySQL Abfrage. Ich habe bei einem Projekt eine Kundentabelle mit Anreisen und Abreisen. Des Weiteren habe ich eine Tabelle, an welchem Tag wie viele Zimmer belegt sind.
Struktur:
Tabelle Kunde
id | anreise | abreise

Tabelle Belegung
tag | zimmer_belegt

anreise ist immer der Timestamp des Tages um 00:00:00
abreise ist immer der Timestamp des Tages um 23:59:59

Problem:
Ich möchte jetzt eine Liste erstellen für jeden Tag eines Monats mit den Anreisen, Abreisen und Belegungen.
Der einzige Weg der mir einfällt, wäre eine Abfrage über anreisen, eine über abreisen und eine über Belegung. Und das ganze dann per PHP zusammenfriemeln.
Aber viel lieber hätte ich es eigentlich in einer Abfrage. Kennt da jeamnd nen weg?


Grüße
terk
wenn ich dich richtig verstanden hab sollste das so gehen:
PHP:
$sql "SELECT
            kunde.anreise,
            kunde.abreise,
            belegung.tag,
            belegung.zimmer_belegt
        FROM
            kunde,
            belegung";
//...
 
Das wäre meines Erachtens nach ja vollkommen sinnlos. Dann liefert er mir ja tausende unsortierte und unzusammenhängende Datensätze zurück. Ich will ja nach möglichkeit eine möglichst fertige Liste haben.
 
Naja warte mal lieber bis einer der Profis postet der kann dir bestimmt besser helfen,
ich bin noch recht neu auf dem Gebiet.
 
PHP:
SELECT kunden.id, belegung.zimmer_belegt WHERE kunden.anreise > (NOW()-86400) OR kunden.abreise < (NOW()+86400) OR /* überprüfung des Tages */

Wäre mein Ansatz.. keine Ahnung obs funzt, ich bin mir nichtmal sicher, ob ich dich richtig verstanden hab ;)

Die überprüfung des Tages hab ich nicht drin, weil ich nicht weiß, wie der Tag in der DB notiert ist. Die Funktion NOW() könnte in WHERE scheitern, dann probier entweder HAVING statt where oder ersetze NOW() scshon in PHP durch den aktuellen Timestamp (dürft eh besser sein fällt mir grad ein, afair arbeitet MySQL mit irgendwelchen anderen Zeitformaten)