如何在codeigniter中为联合表添加分页

时间:2014-07-24 18:32:26

标签: php mysql codeigniter pagination union

如何将分页添加到unionTable?

通常我做了这样的事情:

    $query = $this->db->get('tutorial', $num, $offset);

但我不知道如何在这里帮忙。

    $query = $this->db->query("SELECT * FROM
             ($subQuery1 UNION $subQuery2 UNION $subQuery3)
             AS unionTable GROUP BY date DESC");

2 个答案:

答案 0 :(得分:2)

如果您使用的是Mysql,请尝试以下代码:

$query = $this->db->query("SELECT * FROM
         ($subQuery1 UNION $subQuery2 UNION $subQuery3)
         AS unionTable GROUP BY date DESC LIMIT $num, $offset");

注意:确保在查询之前为变量$ num和$ offset设置了正确的值。

答案 1 :(得分:2)

好的,所以你使用的是query而不是get,除了先前添加$num$offset的600Mhz答案外,您还必须这样做计算,从活动记录查询中检索值,因此,您必须执行查询:

$query = $this->db->query("SELECT * FROM
         ($subQuery1 UNION $subQuery2 UNION $subQuery3)
         AS unionTable GROUP BY date DESC LIMIT $num, $offset")
         ->result();

这样,它将模拟get函数,$query将拥有您通常使用get检索的对象数组。如果您已经知道,请接受600MHz的答案,因为它首先回答,XD