PDA

Vollstndige Version anzeigen : Zeitraum berprfen????


hoschy
19-04-2004, 23:31
Ich hab in einer Datenbank mehrere Zeitrume (bsp.: 08:00 - 16:00) stehen. da ich jetzt aber gerne immer nur den dazu gehrigen eintrag auf einer Seite anzeigen lassen will muss ich ja sogesehen die Uhrzeit mit dem Zeitraum in der DB abgleichen.

Da liegt auch mein Problem. Entweder ich hab eine Denkblockade oder ich wei es nicht. Ich kriege es einfach nicht auf die reihe.

Mein letzter Versuch war der hier :

$tim = date("H:00 - ");
$rt = mysql_query("SELECT * FROM $tab WHERE uhrzeit like '$tim'");
$row = mysql_fetch_array($rt);
echo $row['uhrzeit'];
echo $row['mod'];

fhrt allerdings dazu, dass ich gar keine Anzeige erhalte.

Hat jemand eine Lsung fr mich oder sieht meinen Fehler?

vielen dank schon mal.

feuervogel
19-04-2004, 23:57
willkommen im forum!

hm, also fr mich liegt der fehler in der datenstruktur in der db...

wenn du z.b. 2 felder schreiben wrdest, eins mit 08 und eins mit 16 knntest du fragen

where $wert > feldeins && $wert < feldzwei

(das ist jetzt nur strukturell)

wrde die sache erheblich einfacher machen...

hoschy
20-04-2004, 00:17
ja, das whre ne mglichkeit. werd ich mal versuchen.

Muss ich mir dann hinter nur was frs eintragen berlegen

davey69
18-05-2004, 17:13
Hab ein hnliches Problem bloss noch ein bischen erweitert!

In der Datenbank ist eine Anfangszeit"$von"(im TIME_Format(00:00)) und eine Endzeit "$bis" wiederrum im TIME_FORMAT.
z.B.:
Datenbankeintrag:
$von='22:00';
$bis='01:00';

jetzt wil ich mit einer Abfrage testen, ob zum Beispiel 23Uhr dazwischen liegt.


$re_ma=mysql_query("SELECT * FROM egal WHERE von<'23:00' and bis>'23:00'");
$is_tags=@mysql_fetch_array($re_ma);
if(@!mysql_fetch_array($re_ma))$error='Stunde liegt nicht dazwischen';


Leider gibt er mir immer die Fehlermeldung aus!
Hat jemand eine Lsung?

xabbuh
19-05-2004, 19:53
Original geschrieben von davey69
Hab ein hnliches Problem bloss noch ein bischen erweitert!

In der Datenbank ist eine Anfangszeit"$von"(im TIME_Format(00:00)) und eine Endzeit "$bis" wiederrum im TIME_FORMAT.
z.B.:
Datenbankeintrag:
$von='22:00';
$bis='01:00';

jetzt wil ich mit einer Abfrage testen, ob zum Beispiel 23Uhr dazwischen liegt.


$re_ma=mysql_query("SELECT * FROM egal WHERE von<'23:00' and bis>'23:00'");
$is_tags=@mysql_fetch_array($re_ma);
if(@!mysql_fetch_array($re_ma))$error='Stunde liegt nicht dazwischen';


Leider gibt er mir immer die Fehlermeldung aus!
Hat jemand eine Lsung?

Das ist ja auch kein Wunder, da die Endzeit 01:00 eindeutig kleiner als 23:00 ist. Du msstest also auch das genaue Datum und nicht nur die Uhrzeit in der Datenbank speichern, um berprfen zu knnen, ob eine Zeit dazwischen liegt oder nicht.