2014-02-27 22 views
0

控制器:如何显示与分页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/>"; 
};?> 

带控制器我在视图中检索从我的数据库和显示thems数据。我尝试做一个分页。我把这段代码放在控制器函数的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); 

我不知道如何将结果与分页连接以及如何同时显示在我看来

回答

0

控制器

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(); ?> 
+0

它给出了这样的错误:试图获得非物件的财产 文件名:views/my_feed.php – user3313651

+0

是它在同一行号码作为 '<?PHP回声$这 - > pagination-> create_links(); ?> – Mohan

+0

你的名字是什么意思?在第一行? – user3313651

0

一个可能的解决方案,如果你愿意重写的数据库查询是这样的:使用PDO并将数据作为存储在FeedEntryList中的FeedEntry类的对象获取,其实现Iterator接口。代码FeedEntryList功能呈现实际的页面结果,例如FeedEntryList::render(1,10)应该返回FeedEntry对象(第1页,10吨饲料),您可以轻松地显示使用foreach的数组。