1

这是我的控制器:

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 个项目。

这是指向所需实现的链接

4

1 回答 1

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 网站上查看分页文档

于 2013-01-07T05:06:13.567 回答