Du brauchst eine WHERE-Klausel.
Also sowas in der Art:
Wobei ich nicht genau verstehe, was Dein "1138878000" sein soll...PHP-Code:SELECT x FROM buchungen WHERE 1138878000 > Startzeit AND 1138878000 < Endzeit
Hallo zusammen,
ich möchte in einer Tabelle prüfen, ob der Zeitraum (angegeben durch zwei Unix-Timestamp Start und Ende) von min. einem Datensatz einen gegebenen Zeitpunkt umfasst.
Das Problem ist jetzt, dass mir das Teil für jeden Eintrag der Tabelle buchungen eine 0 bzw. 1 zurückgibt. Ich hatte sows versucht:PHP-Code:SELECT 1138878000 BETWEEN Startzeit AND Endzeit FROM buchungen
Um das auf ein Ergebnis (0 o. 1) zu beschränken, nur leider funktioniert das Statement nicht.PHP-Code:SELECT 1138878000 AS Test BETWEEN Startzeit AND Endzeit FROM buchungen
ORDER BY Test ASC LIMIT 0,1
Danke für eure Hilfe!
strauberry
Du brauchst eine WHERE-Klausel.
Also sowas in der Art:
Wobei ich nicht genau verstehe, was Dein "1138878000" sein soll...PHP-Code:SELECT x FROM buchungen WHERE 1138878000 > Startzeit AND 1138878000 < Endzeit
Grüße vom Griechen,
Cybergreek!
everygain Translator - eine Firefox-Erweiterung, damit der Grieche Euch besser versteht
Die Zahl ist ein Timestamp. Das gute an Between ist ja, dass ich folgendes machen kann:
SELECT ... WHERE 2 <= 3 AND 3 <= 4.
Das erzeugt sonst einen Fehler, weil 3 ja nicht gleich 2 UND gleich 4 sein kann. Der Timestamp kann nämlich auch genau auf dem Start- oder Endpunkt liegen. In diesem Fall wäre es ebenfalls ein true.
select count(*) gibt Dir die Anzahl der Treffer zurück
Gruß, der Michl
* * * if you want them to RTFM, make a better FM! * * *
Ja schon.
Vom Inhalt her brauche ich folgendes Statement: Suche mir alle Einträge, bei denen Zeitpunkt A entweder im eigenen Zeitraum liegt oder dem Anfang entspricht oder dem Ende entspricht.
Klar kann ich das auch mit einem Select machen, ich dachte nur between wäre da etwas schneller bzw. kürzer.
Du kannst doch dann das nehmen, oder nicht?!
PHP-Code:SELECT x FROM buchungen WHERE 1138878000 >= Startzeit AND 1138878000 <= Endzeit
Grüße vom Griechen,
Cybergreek!
everygain Translator - eine Firefox-Erweiterung, damit der Grieche Euch besser versteht
Da fehlt das FROM damit MySQL überhaupt weiß welche Tabelle gemeint ist.Zitat von strauberry
Und außerdem wird es wohl kein Feld mit dem Namen `1138878000` geben.
Schau Dir SQL-Statements nochmal genauer an und benutze or die(mysql_error()).
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)