MySQL时间戳 - 在过去一小时内显示3行

6 php mysql timestamp

如何显示在过去一小时内具有时间戳值的行?

这是我现在所拥有的,它显示的是最新的行,因为LIMIT只显示3行.

$query5= mysql_query("SELECT * FROM  `made_orders` ORDER by id DESC LIMIT 0,3");



    WHILE($datarows5 = mysql_fetch_array($query5)):

    $name4 = $datarows5['Name'];
    $phone4 = $datarows5['Phone'];
    $entree4 = $datarows5['Entree'];
    $side14 = $datarows5['Side 1'];
    $side24 = $datarows5['Side 2'];
    $drink4 = $datarows5['Drink'];
    $totalcost4 = $datarows5['Total Cost'];
    $ip4 = $datarows5['Ip'];
    $id4 = $datarows5['id'];
    $time4 = $datarows5['timestamp'];

    echo "<iframe src=\"creatmeal-data.php?id={$id4}\" width=\"430px\" style=\"border:0px\" height=\"350px\"/></iframe>";

endwhile; ?>
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,每次找到一行时,它都会回显一个iframe.如何编辑查询以使用我的时间戳列仅显示一小时内的最新信息.

在此先感谢您的帮助!

编辑:这是我的时间戳列:http://img856.imageshack.us/img856/4135/columnk.png

Zan*_*ien 18

您当前的查询获取最近的三个订单,无论它们是否在过去一小时内创建.

使用此解决方案:

SELECT *
FROM made_orders
WHERE timestamp >= NOW() - INTERVAL 1 HOUR
ORDER BY timestamp DESC
LIMIT 3
Run Code Online (Sandbox Code Playgroud)

这将在最后一小时内获得最多三个订单.如果在最后一小时内只有一个订单,则只会选择一行.