Das gestrige Datum abfragen.
ralf
- php
Hi,
ich möchte aus einer Datenbank alle gestrigen Daten haben.
ich hab es so probiert:
$date=date("Y-m-d",-1);
$sql="SELECT * FROM user WHERE datum=$date";
$result=mysql_query($sql,$connect);
Leider bekomm ich dann ne fehlermeldung:
Warning: unexpected error in date() in navbar.php on line 28
Warning: Supplied argument is not a valid MySQL result resource in navbar.php on line 31
Wie geht des denn?
danke und gruss
ralf
Hi,
ich hab es so probiert:
$date=date("Y-m-d",-1);
Ich verstehe die Syntax nicht ganz. Das ergibt Fehler 1.
$sql="SELECT * FROM user WHERE datum=$date";
Vor und nach $date fehlt je ein Hochkomma '.
Zu deinem Problem: Hol dir mit time() den aktuellen Timestamp und
ziehe die Zahl der Sekunden, die ein Tag hat, ab (86400). Das wan-
delst du dann ins benötigte Format um, oder noch besser, du benutzt
in deiner Datenbank auch Timestamps.
Bye,
Peter
$date=date("Y-m-d");
Machs so:
$date=date("Y-m-d");
$yesterday=$date-1;
Problem: Was ist, wenn heute der 1. des ´Monats ist?
CU
http://www.wc24.de.vu
vergiss es, ist falsch!
Hi,
Zu deinem Problem: Hol dir mit time() den aktuellen Timestamp und
ziehe die Zahl der Sekunden, die ein Tag hat, ab (86400). Das wan-
delst du dann ins benötigte Format um, oder noch besser, du benutzt
in deiner Datenbank auch Timestamps.
hab n einfacheren weg gefunden als alles umzuwandeln :)
$date=date("Y-m-d",strtotime("-1 day"));
Gruss
ralf
Hallo!
ich möchte aus einer Datenbank alle gestrigen Daten haben.
$sql="SELECT * FROM user WHERE datum=$date";
Hat die Spalte "datum" den Spaltentype DATE, kannst Du folgendes SQL-Statement verwenden.
SELECT * FROM user WHERE datum=DATE_ADD(CURDATE(), INTERVAL -1 DAY);
Wenn die Spalte "datum" den Spaltentype DATETIME hat, mußt Du folgendes SQL-Statement verwenden. Mit DATE_FORMAT muß zum vergleichen erst dasDatum auf die Form YYYY-MM-DD gebracht werden. Ich habe jetzt keine Funktion gefunden, um das Datum aus DATETIME zu extrahieren.
SELECT datum FROM newsletter WHERE DATE_FORMAT(datum, '%Y-%m-%d')=DATE_ADD(CURDATE(), INTERVAL -1 DAY);
So sparst Du Dir das rumgemurkse mit PHP.
MfG, André Laugks
SELECT datum FROM newsletter WHERE DATE_FORMAT(datum, '%Y-%m-%d')=DATE_ADD(CURDATE(), INTERVAL -1 DAY);
SELECT * FROM user WHERE DATE_FORMAT(datum, '%Y-%m-%d')=DATE_ADD(CURDATE(), INTERVAL -1 DAY);
datum und newsletter waren noch vom testen.
MfG, André Laugks