如何从最后一行迭代到第一行?

时间:2014-01-28 14:57:52

标签: php mysql sql

我的表:

-----------------------
| id:      | data:    |
|---------------------|
| 1        | a        |
| 20       | b        |
| 546      | c        |
-----------------------

我想将数据从最后插入的行(id自动递增)存储到数组中。

$sth = $dbh->query('SELECT * FROM mytable');
$data = array();
while ($row = $sth->fetch(PDO::FETCH_ASSOC))
    {
        array_push($data, $row);
    }
return $data;

我可以添加什么来查询以便从下到上循环遍历表格? 我尝试了ORDER BY的变体,但它们没有用,我错过了一些东西。

2 个答案:

答案 0 :(得分:2)

按降序获取记录

使用以下查询

SELECT * FROM mytable order by id desc

其中id是表格的自动增量ID

答案 1 :(得分:2)

将MySQL语句更改为

SELECT * FROM 'mytable' ORDER BY 'id' DESC

或使用PHP反向数组函数反转数组

return array_reverse($data);