关天php mysql排序问题,先谢谢了!

做一个聊天窗口消息显示,下面能正确显示30条消息。但是升序排序

$db = db::instance(‘sdata’);
$rs = $db->select(‘*’)->from(‘msg’)->where(array(‘(`uid` = :uid)’))->orderbyasc(array(‘id’))->bindvalues(array(‘uid’ => $uid))->limit(30)->query();

想只显示最新的30条,用降序排序,orderbyasc改为orderbydesc竟然不得,请问应该怎么写才对?

感觉这种写法也不怎么好,还有更简单点的写法吗?先谢谢了!

回复讨论(解决方案)

那得看你db类怎么写的。

好像也不是降序,比如数据库是这样,6是最新的

1

2

3

4

5

6

比如想显示最新3条

4

5

6

sql应该怎么写?

class db
{
public static $sdata= array(
‘host’ => ‘127.0.0.1’,
‘port’ => 3306,
‘user’ => ‘root’,
‘password’ => ‘123456’,
‘dbname’ => ‘udata’,
‘charset’ => ‘utf8’,
);
}

select * from (select * from table order by id desc limit 10) as a order by id asc

Posted in 未分类

发表评论