【问题标题】:using pagination with codeigniter使用带有 codeigniter 的分页
【发布时间】:2016-10-12 11:11:11
【问题描述】:

分页不适用于我的项目,并且没有显示任何内容(没有分页 - 1,2,3,...,我从数据库中获得了完整的结果)。

这是我的控制器:

public function list_result()
{

    $this->run_cache();
    $this->initialize_limit();
    $limit = (is_int($this->uri->segment(2)))?$this->uri->segment(2):0;
    $offset = $this->result_limit;
    $query = "SELECT title,user_photo,id,created_date
              FROM result";
    $query .= " LEFT JOIN users ON result.user_id = users.user_id ";

    if ($this->uri->segment(2) == 'popular') {
        $this->session->set_userdata('filterQuery', " ORDER BY result.id DESC ");
    }
    $query .= " WHERE state = 1";
    $query .= $this->filter_query();

    if (!$this->session->userdata('filterQuery')) {
        $query .= " ORDER BY created_date DESC ";
    }
    $query .= " LIMIT " . $limit . "," . $offset;
    $grow['result'] = $this->db->query($query)->result();

    $this->load->library('pagination');
    $config['base_url'] = base_url() . "site";
    $config['total_rows'] = count($grow['result']);
    $config['per_page'] = $this->result_limit;
    $config['uri_segment'] = 2;
    $config['full_tag_open'] = '<ul class="uk-pagination">';
    $config['full_tag_close'] = '</ul>';
    $config['num_tag_open'] = '<li>';
    $config['num_tag_close'] = '</li>';
    $config['cur_tag_open'] = '<li class="uk-active"><span>';
    $config['cur_tag_close'] = '</span></li>';
    $config['use_page_numbers'] = TRUE;
    $this->pagination->initialize($config);
    $grow['links'] = $this->pagination->create_links();

    $grow['site'] = $this;
    $this->load->view('share/list_result', $grow);
}

我的看法:

<?php 
if (count($result) > 0) {
    ?>
    <?php
    foreach ($result as $row) {
        ?>
        show results here
        <?php 
    }
    ?>
    <p><?php echo $links; ?></p> <!-- Nothing shown here -->
<?php } else { ?>

            No Result Found
<?php
}
?>

你能帮我找出我在这里做假的地方吗?

【问题讨论】:

  • print_r($result) 放入视图并检查得到的结果
  • $config['total_rows'] = count($grow['result']); // 错误,这里需要提供数据的总数(不限)
  • 检查您的设置限制在您的查询中不起作用。
  • @MayankVadiya 我从数据库中得到所有结果......没有分页。
  • @Rijin 现在我得到了分页数 1,2,3,4 但是当我改变页面时,我得到了完整的结果而没有改变。

标签: php codeigniter pagination


【解决方案1】:

这里我如何处理以解决问题。 对于有相同问题并在此处搜索的用户。

我变了:

$limit = (is_int($this->uri->segment(2)))?$this->uri->segment(2):0;

$limit = (is_numeric($this->uri->segment(2)))?($this->uri->segment(2) - 1):0;

【讨论】:

    猜你喜欢
    • 2013-04-06
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-26
    • 2014-02-22
    • 2017-06-22
    • 1970-01-01
    相关资源
    最近更新 更多