Hai ,
Ist wahrscheinlich'ne ziehmlich blöde Frage, aber wie kann ich in einer 'Select Anweisung' das Datum in einer Tabelle ansprechen, welches dem aktuellen Datum am nächsten kommt? Oder noch allgemeiner : Kann mann überhaupt das Datum in einer select ... vergleichen?
Danke im Vorraus
Tobias
klar geht das ...
alle Datensätze von heute:
$heute = date ('y-m-d');
$q = mysql_query ("select * from TABELLE where DATUM='$datum'");
while ($x=mysql_fetch_array ($q)) {
.....
}
alles in der Zukunft: ... where DATUM>'$datum'
und die Sache mit dem Minimum (dazu brauchst du in MySQL zwei Queries, wenn du's einfach haben willst):
$heute = date ('y-m-d');
// absolute Differenz zwischen angegebenem Datum und heute
$datum = "abs(to_days(DATUM)-to_days('$heute'))";
// Minimum ermitteln
$q = mysql_query ("select min($datum) from TABELLE");
$r = mysql_fetch_row($q);
$min = $r[0];
// Datensätze holen
$q = mysq-query ("select * from TABELLE where $datum=$min;");
while ($x=mysql_fetch_array ($q)) {
.....
}
BrainBug
29-03-2001, 08:02
Moin zusammen,
Titus, du mußt aber auch erwähnen, daß dafür das Feld der DB ein Datumstyp sein muß. Falls es ein Timestamp in einem int-Feld ist, kann man mit
$heute=time();
$vergleich=mysql_query("select * from TABELLE where datumsfeld<$heute");
oder eben >$heute, wenn's in der Zukunft liegen soll. Außerdem kannst du auch leicht Zeiträume selektieren:
$heute=time();
$gestern=strtotime("-1 day");
$zeitraum=mysql_query("select * from TABELLE where datumsfeld between $gestern and $heute");
holt dir alle Einträge mit einem Datum zwischen jetzt und (jetzt - 1 Tag) sprich gestern.
Okay, soweit meine Ergänzungen...
Hai Jungs,
das war Super!
Hat geklappt!
Es ist übrigens ein Timestamp in einem int-Feld.
Danke nochmal!
Gruß Tobias