2017-01-29 3 views
1

In meiner Tabelle gibt es eine Spalte date in datetime - current timestamp Format.
Ich habe bereits diesen Code, die gut funktioniert:die neueste Zeile eingefügt

$stmt = $db->query('SELECT * FROM posts ORDER BY date DESC'); 
while($row = $stmt->fetch()){... 

Ist es möglich, eingefügt, um die neueste Reihe zu bekommen (max Datum), aus dem obigen Code, ohne dass eine separate Funktion zu schreiben?

Wenn nicht, hier ist mein Versuch:

$stmt = $db->query("SELECT MAX(date) FROM posts"); 
$row = $stmt->fetch(); 
$itemtop = $row['date']; 

Aber ich bin immer Fehler - Undefined index date in...

Hilfe?

Antwort

2

Verwendung LIMIT:

$stmt = $db->query('SELECT * FROM posts ORDER BY date DESC LIMIT 1'); 
$row = $stmt->fetch(); // fetch the most recent single record 
$itemtop = $row['date']; // ...and whatever other columns you want 
+0

Vielen Dank. Gelöst. – bonaca

2

Code-Update wie folgt:

$stmt = $db->query("SELECT MAX(date) as date FROM posts"); 
$row = $stmt->fetch(); 
$itemtop = $row['date']; 

Auch können Sie auf neuesten Daten mithilfe von SQL LIMIT und ORDER BY finden. Dann müssen Sie Ihre SQL LIKE Below ändern.

$stmt = $db->query('SELECT * FROM posts ORDER BY date DESC LIMIT 1'); 
Verwandte Themen