Zeit Bereich aus einer MySQL Datenbank prüfen

mkoeni1

Erfahrenes Mitglied
Hallo zusammen,

ich habe ein Problem und benötige Eure Hilfe. ich möchte gerne auf einer Seite in einem Zeitfenster etwas ausgeben. Dazu habe ich eine Tabelle definiert:
PHP:
-- 
-- Tabellenstruktur für Tabelle `events`
-- 

CREATE TABLE IF NOT EXISTS `events` (
  `id` int(3) NOT NULL auto_increment,
  `eventTitle` varchar(255) NOT NULL,
  `eventDate` date NOT NULL,
  `eventStartTime` time NOT NULL,
  `eventEndTime` time NOT NULL,
  `eventDesc` varchar(255) NOT NULL,
  `kommentar` varchar(255) NOT NULL COMMENT 'Ein Kommentar zu einer Buchung',
  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT 'eindeutiger Stamp',
  `user_id` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='Buchenungen, Kommenatre des roboters' AUTO_INCREMENT=11 ;

Angenommen jetzt ist 15:35 Uhr und ich habe in der Tabelle folgende Daten:
PHP:
(1, 'Test Titel', '2007-12-10', '15:35:00', '15:45:00', 'test Beschreibung', 'test Kommentar', '2007-12-10 15:32:13', 4);

Jetzt brauche ich Eure Hilfe. Wie muss eine Abfrage der Datenbank aussehen, um ein aktuelles Ereigniss zurückzugeben. Sprich ein im Moment laufendes Ereignis (<- siehe Eintrag 1) anzuzeigen. Wenn die Tabelle der Datenbank verändert werden muss, bin ich für diesen Vorschlag gerne zu haben.

Versucht hatte ich bis jetzt mit dem UNIX Timestamp auf größer und kleiner des aktuellen timestamps zu prüfen, aber ich komme irgendwie nicht weiter :-( Diese undankbare Umrechnerei!


Vielen Dank für die Hilfe
Matze
 
Zuletzt bearbeitet:
Servus

Probiers mal so:
$query = "SELECT * from events where ".time()." > FROM_UNIXTIME(eventStartTime) AND ".time()." < FROM_UNIXTIME(eventEndTime)";
 
Hi,

ja genau das war es.
Es ist einleuchtend, dass mein bei einem Intervall (Unter- und Obergrenze) angeben muss ;-)

Auszug: ... dann sind auch alle Objekte, die dazwischen liegen, darin enthalten.


So long
Matze
 
Zurück