Codeigniter分页的麻烦

时间:2015-10-01 10:56:27

标签: php codeigniter pagination

我正在尝试在我的codeigniter应用程序中实现分页。但我被困了。 http://www.sitepoint.com/pagination-with-codeigniter/这是我遵循的教程。 我的控制器

public function index() { 
    $this->load->library('pagination');
    $config = array();
    $config["base_url"] = base_url().'adminroles/';
    $config["total_rows"] = $this->M_admin_roles->record_count();
    $config["per_page"] = 20;
    $config["uri_segment"] = 3;
    $this->pagination->initialize($config); 
    $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
    $data["results"] = $this->M_admin_roles->
    fetch_data($config["per_page"], $page);
    $data["links"] = $this->pagination->create_links();
    $data = array();
    $data['view_file'] = 'v_listRoles';
    echo Modules::run($this->template, $data);

}

我的模特

 public function fetch_data($limit, $start) {
    $this->db->limit($limit,$start);
    $query = $this->db->get("roles");
    if ($query->num_rows() > 0) {
        foreach ($query->result() as $row) {
            $data[] = $row;
        }

        return $data;
    }
    return false;
  }
  public function record_count() {
    return $this->db->count_all("roles");
 }

我将视图简单地渲染为

<p><?php echo $links; ?></p> 

但在视图文件中显示错误。错误是“未定义的变量:链接”。我在这里做错了什么?有什么可以补充作为额外的。我使用HMVC Codeigniter。请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

你写过

您的视图文件中的

<p><?php echo $links; ?></p>

但您必须在视图文件中编写以下代码

echo $ this-&gt; pagination-&gt; create_links();

答案 1 :(得分:0)

您在错误的地方初始化$ data。

试试这个 -

public function index() { $data = array(); $this->load->library('pagination'); $config = array(); $config["base_url"] = base_url().'adminroles/'; $config["total_rows"] = $this->M_admin_roles->record_count(); $config["per_page"] = 20; $config["uri_segment"] = 3; $this->pagination->initialize($config); $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0; $data["results"] = $this->M_admin_roles-> fetch_data($config["per_page"], $page); $data["links"] = $this->pagination->create_links(); $data['view_file'] = 'v_listRoles'; echo Modules::run($this->template, $data); }