[英]how display with pagination CI
控制器:
function my_feeds()
{
$this->load->model('membership_model');
$query = $this->membership_model->get_my_feeds();
if($query->num_rows()>0) {
$res = $query->result();
$this->load->view('my_feed',array("query"=>$res));
}
else
{
echo "No feeds added";
}
模型:
function get_my_feeds()
{
$this->db->where('username',$this->session->userdata('username'));
$q = $this->db->get('feeds');
return $q;
}
视图:
<ol><?php
foreach ($query as $row){
echo "<li><a href='".$row->url."'>".$row->title."</a></li><br/>";
};?>
使用控制器,我可以从数据库中检索数据并在视图中显示它们。 我尝试进行分页。 我将此代码放在控制器函数的if语句中。
$this->load->library('pagination');
$this->load->library('table');
$config['base_url'] = 'http://localhost/Codeigniter/index.php/site/my_feeds';
$config['total_rows'] = $query->num_rows();
$config['per_page'] = 10;
$this->pagination->initialize($config);
我不知道如何将结果与分页联系起来,以及如何在我的视图中同时显示两者
如果您愿意重写db查询,则可能的解决方案是:使用PDO并将数据作为存储在FeedEntryList
中的FeedEntry
类的对象来获取,该类实现Iterator
接口。 为FeedEntryList
一个呈现实际页面结果的函数,例如FeedEntryList::render(1,10)
应该返回一个FeedEntry
对象数组(第一页,有10个提要),您可以使用foreach
轻松显示它们。
您的控制器
function my_feeds()
{
$this->load->model('membership_model');
$this->load->helper('url');
$query = $this->membership_model->get_my_feeds();
$this->load->library('pagination');
$this->load->library('table');
$config['base_url']='http://localhost/Codeigniter/index.php/site/my_feeds';
$config['total_rows'] = $query->num_rows();
$config['per_page'] = 10;
$config['uri_segment'] = 3;
$this->pagination->initialize($config);
if($query->num_rows()>0) {
$res = $this->membership_model->get_my_feeds($config['per_page'],$this->uri->segment(4));
$this->load->view('my_feed',array("query"=>$res));
}
else
{
echo "No feeds added";
}
}
模型
function get_my_feeds($limit = 0,$offset = 0)
{
$this->db->where('username',$this->session->userdata('username'));
if ($limit != 0)
$this->db->limit($limit,$offset)
$q = $this->db->get('feeds');
return $q;
}
在视图页面中,只需在要显示分页链接的位置添加此行。
<?php echo $this->pagination->create_links(); ?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.