Termine sortieren

oldputz1990

Erfahrenes Mitglied
Hallo!

Also:
Ich gebe in einem Formular das Datum ein.

PHP:
    $time2 = mktime(0,0,0,$mm,$dd,$yyyy);


dann kommen die daten in eine DB und werden anschließend wieder abgerufen:


PHP:
$time1 = time();
$time = $time1 + 86400;

// TERMINE
$select_t = mysql_query("SELECT 
                             *
                       FROM
                             `termine`
                             WHERE `timestamp` > '$time'
                      ORDER by 
                       `timestamp` ASC
                       
                       LIMIT 5")
                             OR DIE('<span class="error">Beim Laden der Termine ist ein Fehler aufgetreten!</span>');


Das Problem:

Wenn jetzt der Termin z.B. heute am Abend ist, dann wirder jetzt gerade nicht angezeigt.

Wie kann ich das ändern?

Ich möchte, dass der Termin heute am Abend noch bis Mitternacht angezeigt wird, und dann nicht mehr...


Danke!
 
Hi!

Müsste doch funktionieren, wenn Du nur das Datum vergleichst und die Zeit aussen vor läßt:
SQL:
SELECT * FROM termine WHERE DATE(timestamp) >= DATE(NOW()) ORDER BY timestamp LIMIT 5
...gehört "timestamp" nicht zum Mysql-Wortschatz?

Liebe Grüße,
Mark.
 
Moin

Hast du schon mal versucht, die Termine mit Id's zu sortieren. Mach in der Tabelle einen Eintrag "id" (int, autoincrement) und sortiere es danach. So wird immer der Eintrag mit der höchsten oder niedrigsten Id ausgegeben.

Gruss

FG
 
Re: AW: Termine sortieren

Hi!

Müsste doch funktionieren, wenn Du nur das Datum vergleichst und die Zeit aussen vor läßt:
SQL:
SELECT * FROM termine WHERE DATE(timestamp) >= DATE(NOW()) ORDER BY timestamp LIMIT 5
...gehört "timestamp" nicht zum Mysql-Wortschatz?

Liebe Grüße,
Mark.

Also das funktioniert mal nicht, k.A. aber es wird dann nichts mehr angezeigt.


Nach id sortieren ist auch keine Lösung, weil der nächste Termin ganz oben sein soll.


NACHTRAG::::::
Der Timestamp wird in der Datenbank mit Varchar(50) gespeichert.
 
Zuletzt bearbeitet:
Was hast du jetzt genau vor? Die Termine eines Tages sollen jeweils nur angezeigt werden und die schon zeitlich vorbei sind, sollen nicht mehr angezeigt werden oda wie?
 
Ich kann es leider nicht testen und bin auch noch am Anfang beim Lernen der MySQL Datum/Zeit Funktion.
Code:
SELECT 
  * 
FROM 
  termine 
WHERE 
  DAY(timestamp) = DAY(NOW()) AND MINUTE(timestamp) >= MINUTE(NOW())
ORDER BY 
  timestamp LIMIT 5
 
Zurück