-1

広告がアップロードされたときにタイムスタンプを取得するアップロード スクリプトがあります。タイムスタンプに従って最後の 10 件のアップロードをエコーするスクリプトを作成したいと考えています。

これを行う方法がわかりません。どんな助けでも大歓迎です!!

<?php

$now = date("Y-m-d H:i:s");

echo $now;

 $sql = "SELECT * FROM people WHERE posttime < $now LIMIT 0, 10";

  $q     = $conn->prepare($sql) or die("failed!");
  // Bind the params to the placeholders
   $q->execute();


 ?>

タイムスタンプは次のとおりです。

2012-10-05 14:40:21
4

3 に答える 3

2

MySQL条件を使用することをお勧めします。

SELECT * FROM people WHERE posttime < NOW() LIMIT 0, 10

しかし、あなたの場合posttimeは常に現在よりも低いと思います:)この場合、正しいクエリは次のようになります:

SELECT * FROM people ORDER BY posttime DESC LIMIT 0, 10

ただし、比較時刻が常に現在の時刻であるとは限らない場合は、条件を追加してください。

SELECT * FROM people WHERE posttime < $someNotCurrentTimePHPVar ORDER BY posttime DESC LIMIT 0, 10
于 2012-10-05T13:54:00.627 に答える
1

order by条項が必要です

SELECT * 
FROM people 
WHERE posttime < $now 
order by posttime desc
LIMIT 0, 10
于 2012-10-05T13:54:32.123 に答える
0

次のように、クエリに order by句を順番に追加します。desc

  $sql = "SELECT * FROM people WHERE posttime < $now order by posttime desc LIMIT 0, 10";
于 2012-10-05T13:55:20.907 に答える