我已经做了codeigniter分页以在图像中显示我的产品。 但第二页有问题, 它不可持续或不断。
我设置per_page是:6, 我的总数据是11。
第1页中的结果没问题,按照表格1 - 6显示图像,但是当我点击第二页时从3 - 8开始。
这是模型
public function record_count()
{
return $this->db->count_all('mytable');
}
public function fetch_jenislogam($limit, $start)
{
$start--;
if($start<0)
{
$start=0;
}
$this->db->limit($limit, $start);
$query = $this->db->get("tb_jenislogam");
return $query->result_array();
}
这是我的观点
<?php
foreach($results as $data) { ?>
<div class="col-lg-3 text-center">
<a href="<?php echo base_url();?>item/subitem/<?php echo $data->id; ?>"> <!-- to direct product subitem -->
<img class="img-responsive" src='<?php $img = $data->pics;
if ($img) {
echo base_url().'uploads/origin/'.$data->pics;
} else {
echo base_url().'uploads/origin/def-img.png';
}
?>'></a>
<br>
</div>
<div>
<?php echo $data->id;?></div>
<?php
}
?>
这个控制器看起来像。
public function listitem()
{
$config = array();
$config['base_url'] = base_url().'item/listitem';
$config['total_rows'] = $this->item_m->record_count();
$config['per_page'] = 6;
$config['uri_segment'] = 3;
$config['num_links'] = 2;
$config['use_page_numbers'] = TRUE;
$config['cur_tag_open'] = '<a class="current">';
$config['cur_tag_close'] = '</a>';
$config['next_link'] = '>';
$config['prev_link'] = '<';
$this->pagination->initialize($config);
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data['links'] = $this->pagination->create_links();
$data['uri'] = $this->uri->segment(3);
$data['results'] = $this->item_m->fetch_jenislogam($config['per_page'], $page);
$this->load->view('user_header');
$this->load->view('user/usr_item_view', $data);
$this->load->view('user_footer');
}
答案 0 :(得分:0)
您需要更改控制器中的第二个参数,表示$page
变量值:
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$pageLimit = ($page*$config['per_page']); //Add this line
之后传递
中的$pageLimit
变量
$data['results'] = $this->item_m->fetch_jenislogam($config['per_page'], $pageLimit);
原因: limit
函数的第二个参数是偏移量。在你的情况下,它设置为1,2,3 ...