我正在尝试根据类别名称分区更新的时间对行进行排名。
$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中运行得非常好,并且我将topic_rank作为1,2,3等等。 当我在CodeIgniter中运行它时,我将topic_rank作为所有记录的1。
可能是什么问题?
答案 0 :(得分:0)
尝试使用codeigniger数据库方法result_array()
:
$q = $this->db->query($query);
$data = $q->result_array();
答案 1 :(得分:0)
找到解决此问题的替代方法。不知道为什么用户定义的变量不起作用。
// Load Google Charts for the Portuguese locale.
google.charts.load('current', {'packages':['corechart'], 'language': 'pt'});