php mysql根据时间戳回显结果

时间:2012-10-05 13:51:18

标签: php mysql database timestamp echo

我有一个上传脚本,在上传广告时需要一个时间戳,我想创建一个脚本,根据时间戳回显最近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

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

您需要order by子句

SELECT * 
FROM people 
WHERE posttime < $now 
order by posttime desc
LIMIT 0, 10

答案 2 :(得分:0)

在您的查询中以order by顺序添加desc子句,如下所示,

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