这是我的控制器:
class Comment extends CI_Controller {
function article() {
$this->load->library('pagination');
$this->load->model('comment_m');
$id=$this->uri->segment(3);
$config['base_url'] = 'http://localhost/ci/CodeIgniter_2.1.3/index.php/comment/article/'.$id;
$config['total_rows'] = $this->db->get('comment_article')->num_rows();
$config['per_page'] = 5;
$config['num_links'] = 5;
$config['full_tag_open'] = '<div id="pagination">';
$config['full_tag_close'] = '</div>';
$this->pagination->initialize($config);
echo $this->uri->segment(4);
$data['c_review'] = $this->comment_m->getarticle($id, $config['per_page'], $this->uri->segment(4));
$this->load->view('comment_v', $data);
}
}
这是我的模特:
class Comment_m extends CI_Model{
function getarticle($id,$limit,$start) {
$this->db->select('name, content');
$this->db->from('comment_article');
$this->db->where('article_id', $id);
$this->db->limit($limit, $start);
$q = $this->db->get();
if($q->num_rows() > 0) {
foreach ($q->result() as $c_review) {
$data[] = $c_review;
}
return $data;
}
}
}
如果我的文章少于或等于10篇(仅限2页),则分页工作正常,但如果我有第三个分页链接,则第3个链接变得无法删除且不是锚标记。 我在我的另一页中使用了相同的分页,但这个分页工作正常,但是这个引起了这个问题。
以下是分页页面图片的链接。这里突出显示的页面是3,而活动页面仍然是1,因此第3页是不可靠的。
这是我的其他实现,我无法用这个分页实现,但这就是我想要的:这里当前页面是第1页,共有13个项目,每页有5个项目。
答案 0 :(得分:0)
以及你对total_rows有问题的观点,它给你从db中选择的行数而不是总计数,如果你使用任何where子句,只需更改它就更好地使用count_all或count_all_result
from
$config['total_rows'] = $this->db->get('comment_article')->num_rows();
to
$config['total_rows'] = $this->db->get('comment_article')->count_all();
在您在其他服务器上部署项目时,还有一项更改可以帮助您
from
$config['base_url'] = 'http://localhost/ci/CodeIgniter_2.1.3/index.php/comment/article/'.$id;
to
$config['base_url'] = base_url('comment/article/'.$id); // it will automatically add default base_url
最重要的是你必须添加$ config ['uri_segment']你必须告诉哪个段是默认的页码是3
$config['uri_segment'] = 3;
了解CI网站上的分页文档