Foreach循环中用于分页的递增运算符 [英] Incrementing Operator in Foreach Loop for Pagination

查看:210
本文介绍了Foreach循环中用于分页的递增运算符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用CodeIgniter分页类将我的数据分页每页10行.我正在为此使用foreach循环.

I'm using CodeIgniter Pagination class to paginate my data 10 rows per page. I'm using foreach loop for that.

我的问题是,在第二,第三和第二个循环中,循环增量运算符被重置为1.下一个分页.

My problem is, the loop incrementing operator is reset back to 1 in the second, third & next pagination pages.

第1页的屏幕截图(仅适用于虚拟数据):

Page 1 screenshot [dummy data only]:

第2页屏幕截图(仅适用于虚拟数据):

Page 2 screenshot [dummy data only]:

第3页屏幕截图(仅适用于虚拟数据):

Page 3 screenshot [dummy data only]:

我的控制器:

<?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 ...

I want that incrementing operator to continue in the next pagination pages like 11,12,13... in the second page. 21,22,23 in the third page...

该如何解决?

很抱歉,如果这是太基本的问题.我只是CodeIgniter和PHP的新手.

Sorry if this is too basic question. I'm just new with CodeIgniter and PHP.

推荐答案

您认为:

$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;

你很酷.

此外,我建议您使用较少的echo,并且仅用于模板的php部分.例如,您的代码可以这样重新格式化:

Also, i'd recommend you use less echo, and only for php parts of your templating. For example, your code could be reformatted like this:

<?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; ?>

我想现在看起来更干净

这篇关于Foreach循环中用于分页的递增运算符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆