链式方法与count_all
chain非常好用,可是似乎缺了一个count, 我在写一个分页,需要对某一类的文章进行分页列表,count_all和count_all_result只能对整个表操作,要是select->where然后 query = $this->db->get()
然后再num_rows(),代码似乎太麻烦了,
各位以为呢 可以自己写个扩展。 首先说这个和链式方法无关,取带条件的记录总数和取实际的记录是要分两步的。
先取记录数:
$this->db->select('count(*) as count')->from('mytable')->where('id', $id);
$query = $this->db->get();
$row = $query->row_array();
echo $row['count']; // 这就是带条件的记录总数
然后取真正的记录:
$this->db->select('*')->from('mytable')->where('id', $id)->limit(10, 20);
$query = $this->db->get();
foreach ($query->result_array() as $row)
{
echo $row['title'];
echo $row['name'];
echo $row['body'];
}
如果能有一个封装好配合limit()方法的match_rows()方法就好了,不需要手工再select count(*)
$this->db->select('*')->from('mytable')->where('id', $id)->limit(10, 20);
$query = $this->db->get();
foreach ($query->result_array() as $row)
{
echo $row['title'];
echo $row['name'];
echo $row['body'];
}
$count = $this->db->match_rows();
如何呢?
$this->db->select('count(*) as count')->from('mytable')->where('id', $id);
$query = $this->db->get();
这两句可以一句完成么 5# ztkx
应该不可以,为什么要放到一句?那样编码不是很好。
$this->db->select('count(*) as count')->from('mytable')->where('id', $id);
$query = $this->db->get();
这两句可以一句完成么
ztkx 发表于 2009-2-18 12:37 http://codeigniter.org.cn/forums/images/common/back.gif
第一句是构建sql语句,第二句是执行上面构建的sql,我认为不能合成一个。 最好扩展一下常用的一些功能,减少重复的工作。
页:
[1]