2017-01-29 8 views
1

私のテーブルにはdatedatetime - current timestampフォーマットの列があります。最新の行を取得

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

、それは別の関数を記述することなく、上記のコードから、(最大日付)挿入された最新の行を取得することが可能です:
私はすでにうまく機能し、このコードを持っていますか?そうでない場合

は、ここに私の試みです:

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

しかし、私はエラーになっている - Undefined index date in...

任意の助けを?

答えて

2

使用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

ありがとうございます。解決済み。 – bonaca

2

以下のようなアップデートコード:また

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

、あなたはSQL LIMITORDER BYを使用した最新のデータを見つけることができます。次に、あなたのSQL LIKEを以下のように変更する必要があります。

$stmt = $db->query('SELECT * FROM posts ORDER BY date DESC LIMIT 1'); 
関連する問題