我正在尝试根据按类别名称划分的更新时间对行进行排序。
$query = "SELECT
category_name,
topic_title,
updated_ts,
@topic_rank := IF(@current_category = category_name, @topic_rank + 1, 1) AS topic_rank,
@current_category := category_name AS current_category
FROM topic_master
ORDER BY category_name, updated_ts DESC
";
$data = $this->db->query($query);
if($this->db->affected_rows() > 0)
{
return $data;
}
else
{
return false;
}
这个查询在mysql中运行得非常好,给我的主题排名是1、2、3等等。当我在codeigniter中运行这个程序时,所有记录的topic\u排名都是1。
有什么问题吗?
2条答案
按热度按时间mznpcxlj1#
找到了解决这个问题的另一种方法。不知道为什么用户定义的变量不起作用。
zzlelutf2#
尝试使用codeigniger数据库方法
result_array()
: