【问题标题】:codeigniter pagination redirecting to same page when next/prev or second page is clicked单击下一页/上一页或第二页时,codeigniter 分页重定向到同一页面
【发布时间】:2015-06-05 06:03:35
【问题描述】:

我是 CodeIgniter 分页的新手。我有一个显示用户的表格。我希望它被分页。但我的问题是它在页面中显示相同的数据。我的意思是,当我单击第二页或下一页时。它重定向到同一页面。如何解决这个问题?

 $config = array();
    $config["base_url"] = site_url('User/viewUsers/');
    $config['total_rows'] =  $this->db->get('user')->num_rows();
    $config["per_page"] = 10;
    $config["num_links"] = 1;
    $config['uri_segment'] = 4;
    //$config['use_page_numbers'] = TRUE;

    $config['enable_query_strings'] = TRUE;

    //Adding Enclosing Markup
    $config['full_tag_open'] = '<p><ul  class="pagination">';
    $config['full_tag_close'] = '</ul></p><!--pagination-->';
    //Customizing the First Link
    $config['first_link'] = '&laquo; First';
    $config['first_tag_open'] = '<li class="prev page">';
    $config['first_tag_close'] = '</li>';
    //Customizing the Last Link
    $config['last_link'] = 'Last &raquo;';
    $config['last_tag_open'] = '<li class="next page">';
    $config['last_tag_close'] = '</li>';
    //Customizing the "Next" Link
    $config['next_link'] = 'Next &rarr;';
    $config['next_tag_open'] = '<li class="next page">';
    $config['next_tag_close'] = '</li>';
    //Customizing the "Previous" Link
    $config['prev_link'] = '&larr; Previous';
    $config['prev_tag_open'] = '<li class="prev page">';
    $config['prev_tag_close'] = '</li>';
    //Customizing the "Current Page" Link
    $config['cur_tag_open'] = "<li class='disabled'><li class='active'><a href='#'>";
    $config['cur_tag_close'] = "<span class='sr-only'></span></a></li></li>";
    //Customizing the "Digit" Link
    $config['num_tag_open'] = '<li class="page">';
    $config['num_tag_close'] = '</li>';

    $this->pagination->initialize($config);

    $page = $this->uri->segment(4);
    //$page = ($this->uri->segment(4) > 0) ? $this->uri->segment(4) : 0;
    $data = array(); 
    $data['users'] = $this->user_model->getUserList($config["per_page"], $page);

    $data['links'] = $this->pagination->create_links();
    $data['fullname'] = NULL; 
            $this->load->view('include/header');
        $this->load->view('admin/viewUsers',$data); 
        $this->load->view('include/footer');

型号:

public function getUserList($limit,$start){
    $query = array();
    $this->db->limit($limit, $start);
    $this->db->order_by('user_id'); 
    $query = $this->db->get('user');  
    return $query->result();
}

【问题讨论】:

  • @d_unknown 查看下面的答案
  • @Viral,我试过了。它仅突出显示页面,但不会更改表内的数据。显示相同的数据。
  • @Viral,我实际上是用 localhost 制作的。我没有在 config.php 中编辑基本 url,所以我使用的是 localhost/SystemRequest/index.php 的 site_url

标签: php codeigniter pagination


【解决方案1】:

改变这个

在控制器中

<?php

    $count = $this->db->get('user')->num_rows();

    $config['base_url'] = base_url().'User/viewUsers/';
    $config['total_rows'] = $count;
    $config["per_page"] = 10;
    $config['uri_segment'] = 3;
    $limit = $config['per_page'];

//    $config['enable_query_strings'] = TRUE;

    $config['full_tag_open'] = '<ul class="pagination">';
    $config['full_tag_close'] = '</ul>';
    $config['first_link'] = false;
    $config['last_link'] = false;
    $config['first_tag_open'] = '<li>';
    $config['first_tag_close'] = '</li>';
    $config['prev_link'] = '&laquo';
    $config['prev_tag_open'] = '<li class="prev">';
    $config['prev_tag_close'] = '</li>';
    $config['next_link'] = '&raquo';
    $config['next_tag_open'] = '<li>';
    $config['next_tag_close'] = '</li>';
    $config['last_tag_open'] = '<li>';
    $config['last_tag_close'] = '</li>';
    $config['cur_tag_open'] = '<li class="active"><a href="#">';
    $config['cur_tag_close'] = '</a></li>';
    $config['num_tag_open'] = '<li>';
    $config['num_tag_close'] = '</li>';

    $this->pagination->initialize($config);

 $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;

    $data['users'] = $this->user_model->getUserList($limit, $page);
    $data['links'] = $this->pagination->create_links();
    $data['fullname'] = NULL;

    $this->load->view('include/header');
    $this->load->view('admin/viewUsers',$data);
    $this->load->view('include/footer');

在模型中

    public function getUserList($limit,$page)
{
    $query = $this->db->query("SELECT * FROM user LIMIT $page, $limit");
    $result = $query->result_array();
    return $result;
}

【讨论】:

  • 我试过了。它仅突出显示页面,但不会更改表内的数据。显示相同的数据。
  • 我已经编辑了我的问题,我在我的模型中包含了这个函数。请检查一下。
猜你喜欢
  • 1970-01-01
  • 2013-05-31
  • 2020-04-18
  • 1970-01-01
  • 2018-01-24
  • 1970-01-01
  • 2015-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多