Veraltete Daten ausblende
Max
- php
0 Mathias Brodala0 Max0 basti_p0 Mathias Brodala0 Max0 Tobias Kloth0 Max
Hi
ich hab eine MySql-Datenbank in der ua eine Spalte Datum (Typ Data) existiert.
Jetzt möchte ich, dass immer nur die aktuellen Einträge angezeigt werden.
Habe das folgendermaßen probiert:
$timestamp = time();
$today = date("Y-m-d",$timestamp);
$resultDP = mysql_query("SELECT * FROM " . $db_*. " ORDER BY Datum WHERE (Datum<'".$today."')") or die("Anfrage fehlgeschlagen: " . mysql_error());
bekomme jetzt jedoch immer einen Syntax-Fehler bei der where-Abfrage. Was mache ich falsch?
schonmal danke
Gruß
Max
Hallo Max.
Hi
ich hab eine MySql-Datenbank in der ua eine Spalte Datum (Typ Data) existiert.
Jetzt möchte ich, dass immer nur die aktuellen Einträge angezeigt werden.
Habe das folgendermaßen probiert:
$timestamp = time();
$today = date("Y-m-d",$timestamp);
$resultDP = mysql_query("SELECT * FROM " . $db_*. " ORDER BY Datum WHERE (Datum<'".$today."')") or die("Anfrage fehlgeschlagen: " . mysql_error());
>
> bekomme jetzt jedoch immer einen Syntax-Fehler bei der where-Abfrage. Was mache ich falsch?
Du verwendest keinen Editor mit Syntax-Highlighting. Dann hättest du erkant, dass du versuchst den Inhalt von $db\_ mit dem Stringverknüpfungsoperator zu multiplizieren.
Einen schönen Montag noch.
Gruß, Mathias
--
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
debian/rules
:) Danke
das * hab ich aber nur gesetzt weil nicht jeder meinen Datenbank namen wissen muss. War dumm da nen * zu wählen. Also meine Abfrage funktioniert wunderbar wenn ich das WHERE-Zeugs weglasse. Muss irgendwo da nen Fehler sein :(
aber danke für die schnelle Antwort
Max
Hallo,
muss das ORDER BY... nicht nach der WHERE-Klausel kommen?
Grüße Basti
Hallo basti_p.
muss das ORDER BY... nicht nach der WHERE-Klausel kommen?
Völlig korrekt. Hatte ich gar nicht mehr beachtet.
Einen schönen Montag noch.
Gruß, Mathias
ok thx...hab das jetzt so:
$timestamp = time();
$today = date("Y-m-d",$timestamp);
$resultDP = mysql_query("SELECT * FROM " . $db . " WHERE (Datum<'".$today."') ORDER BY Datum")
die Fehlermeldung ist schonmal weg (THX!!!), aber ich bekomme immernoch alle Datensätze angezeigt?!? noch eine Idee woran es liegen könnte?
Hat das vll was mit dem timestamp zu tun oderso?
max
Hallo Max,
$timestamp = time();
$today = date("Y-m-d",$timestamp);
das mit dem $timestamp ist hier überflüssig, allerdings ...
$resultDP = mysql_query("SELECT * FROM " . $db . " WHERE (Datum<'".$today."') ORDER BY Datum")
brauchst du das heutige Datum überhaupt nicht mit PHP erzeugen, dass kann MySQL selbst:
SELECT [link:http://www.php-faq.de/q/q-sql-select.html@title=*] FROM tabelle WHERE Datum >= [link:http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html#function_now@title=NOW()] ORDER BY Datum
die Fehlermeldung ist schonmal weg (THX!!!), aber ich bekomme immernoch alle Datensätze angezeigt?!?
Du bekommst nicht alle Datensätze angezeigt, sondern alle veralteten - wenn du nur die Datensätze haben willst, deren Datum in der Zukunft liegt, musst du > verwenden, nicht < (bzw. >= um auch die Datensätze vom aktuellen Tag zu bekommen; ich habe es in meinem Code oben schon geändert)
Grüße aus Nürnberg
Tobias
ok vielen dank.
jetzt klappts wunderbar!!
max