【发布时间】: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