Heim >Backend-Entwicklung >PHP-Tutorial >codeigniter - php的ci框架中的分页类应该怎样使用?

codeigniter - php的ci框架中的分页类应该怎样使用?

WBOY
WBOYOriginal
2016-06-06 20:40:151184Durchsuche

新手,不太懂。现在假设在一个news控制器中通过article_list方法取得了总共50条记录,应怎样通过分页类来显示呢?

news 控制器 varticle_list`方法

<code>php</code><code>public function article_list()
{
    $query = $this->db->get('article');
    $result = $query->result_array();
    $data['articles'] = $result;

    $this->load->view('news.php',$data);
}
</code>

view文件:news.php

<code>php</code><code><?php foreach($articles as $article):?>
<div class="media">
    ...   
</div>
<?php endforeach; ?>  
</code>

ci框架给的示例代码是这样的:

<code>php</code><code>$this->load->library('pagination');
$config['base_url'] = 'http://example.com/index.php/test/page/';
$config['total_rows'] = 200;
$config['per_page'] = 20; 
$this->pagination->initialize($config); 
echo $this->pagination->create_links();
</code>

这样只是创建了一个 1 2 3 4 这样的翻页链接而已,不知道怎样和那些数据记录联系在一起。

前面取得的文章都在一个页面通过 foreach 完全显示出来了,不知道怎样将分页和文章的显示联系在一起,感觉我没说清,但是也不知道怎么描述这个问题。

回复内容:

新手,不太懂。现在假设在一个news控制器中通过article_list方法取得了总共50条记录,应怎样通过分页类来显示呢?

news 控制器 varticle_list`方法

<code>php</code><code>public function article_list()
{
    $query = $this->db->get('article');
    $result = $query->result_array();
    $data['articles'] = $result;

    $this->load->view('news.php',$data);
}
</code>

view文件:news.php

<code>php</code><code><?php foreach($articles as $article):?>
<div class="media">
    ...   
</div>
<?php endforeach; ?>  
</code>

ci框架给的示例代码是这样的:

<code>php</code><code>$this->load->library('pagination');
$config['base_url'] = 'http://example.com/index.php/test/page/';
$config['total_rows'] = 200;
$config['per_page'] = 20; 
$this->pagination->initialize($config); 
echo $this->pagination->create_links();
</code>

这样只是创建了一个 1 2 3 4 这样的翻页链接而已,不知道怎样和那些数据记录联系在一起。

前面取得的文章都在一个页面通过 foreach 完全显示出来了,不知道怎样将分页和文章的显示联系在一起,感觉我没说清,但是也不知道怎么描述这个问题。

你需要自己在查询里面加上 offsetlimit 限制

<code>php</code><code>public function article_list($limit,$offset)
{
    $query = $this->db->get('article',$limit,$offset);
    $result = $query->result_array();
    $data['articles'] = $result;
   $this->load->view('news.php',$data);
}
</code>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn