我正在使用CodeIgniter Pagination类为每页10行分页。我正在使用foreach循环。
我的问题是,循环递增运算符在第二个,第三个和第二个中重置为1。下一页分页。
第1页截图[仅限虚拟数据]:
第2页截图[仅限虚拟数据]:
截屏[仅限虚拟数据]:
我的控制器:
<?php
class Mypagination extends CI_Controller{
function index(){
$this->load->database();
$this->load->library('pagination');
$config['base_url'] = '/codeigniter/index.php/mypagination/index/';
$config['total_rows'] = $this->db->get('tracking')->num_rows();
$config['per_page'] = 10;
$config['next_link'] = 'Next';
$this->pagination->initialize($config);
$data['query'] = $this->db->get('tracking', $config['per_page'], $this->uri->segment(3));
$this->load->view('mypagination_view', $data);
}
}
我的观点:
<?php
$i = 1;
foreach($query->result() as $row){
echo $i++ . ') ';
echo $row->name . ' - ' . $row->email;
echo '<br>';
}
echo $this->pagination->create_links();
?>
我想让递增运算符继续在第二页中的下一个分页页面,如11,12,13 ....第三页21,22,23 ......
如何解决这个问题?
对不起,如果这是太基本的问题。我是CodeIgniter和PHP的新手。
答案 0 :(得分:1)
在您看来:
$links = $this->pagination->create_links();
$i = 1 + $this->pagination->cur_page*$this->pagination->per_page;
foreach($query->result() as $row){
echo $i++ . ') ';
echo $row->name . ' - ' . $row->email;
echo '<br>';
}
echo $links;
你很酷。
另外,我建议你使用较少的回声,并且仅用于模板的php部分。例如,您的代码可以像这样重新格式化:
<?php $links = $this->pagination->get_links(); ?>
<ol start="<?php echo 1 + $this->pagination->cur_page*$this->pagination->per_page; ?>" >
<?php foreach($query->result() as $row) : ?>
<li><?php echo $row->name . ' - ' . $row->email; ?></li>
<?php endforeach; ?>
</ol>
<?php echo $links; ?>
我认为现在看起来更干净。
答案 1 :(得分:0)
你使用会话吗?也许是这样的:
<?php
$i = $this->session->userdata('increment') ? $this->session->userdata('increment') : 1;
foreach($query->result() as $row){
echo $i++ . ') ';
echo $row->name . ' - ' . $row->email;
echo '<br>';
}
echo $this->pagination->create_links();
$this->session->set_userdata('increment', $i);
?>