我认为每个人(主要是CI用户的初学者)在使用积极记录时遇到分页困难。
在CI的官方文档中,没有明确的声明解释如何在活动记录中使用分页类对象。我的问题是;无法定义当前页面并将其设置为SQL语句。因此,当程序通过分页从MySQL获取数据时,所有页面首先导航0和$config['per_page'];
。我的意思是如果我设置为per_page=20
,所有页面链接的提取MySQL行的20个。
我的SQL语句是:
$this->db->query("SELECT b.*, a.adCampaignTitle FROM ads a, sms b WHERE b.`smsAd_ID`=a.ad_ID LIMIT " . $config['per_page'])->result();
My Pagination Class属性:
$this->load->database();
$config['base_url'] = 'http://localhost/index.php/admin/index/page/';
$config['total_rows'] = $this->db->count_all('sms');
$config['per_page'] = 2;
$this->pagination->initialize($config);
如果有人帮助我如何初始化并将当前页面设置为SQL部分,我将非常高兴...
答案 0 :(得分:1)
查看您的网址,第4段将包含偏移。
因此,您可以使用:
$offset = $this->uri->segment(4, 0);
$this->db->query("SELECT ... LIMIT {$offset}, {$config['per_page']}");
答案 1 :(得分:1)
我们可以通过几种方式做到这一点..!
该参数可以称为page_number
所以你的网址看起来像http://server.com/index.php/controller/function?page_number=2
因此,您只需将($this->input->get('page_number') * $config['per_page'])
变为偏移量,然后限制为$config['per_page']
。
url
或post parameter
,例如limit=1&offset=2
..!我不会说这是最好的,但它是一个解决方案。
你选择你想要的东西..!