2013-02-14 112 views
2

即时通讯工作在我的网站的分页功能我正在使用Codeigniter和我不断收到一条错误消息,我不能修复它让我头疼:D有人可以看一看在我的代码中告诉我我哪里出错了。我只是一个大胆的人。

误差Undefined property: CI_Loader::$paginationFatal error: Call to a member function create_links() on a non-object in C:\.... TNX乌拉圭回合的帮助

view.php 

<!doctype html> 
<html> 
    <head> 

     <meta charset=utf-8> 
     <meta name=description content=""> 
     <meta name=viewport content="width=device-width, initial-scale=1"> 
     <title>Untitled</title> 
     <link rel=stylesheet href="css/style2.css"> 
     <link rel=author href="humans.txt"> 

    </head> 
    <body> 


      <h1>Answer</h1> 
      <?php if (isset($records)) : foreach($records as $row) : ?> 

     <div = 'container'> 
     <!--pagination --> 
     <?php echo $this->pagination->create_links(); ?> 

      <ul> 
       <h1><?php echo $row->question; ?></h1> 
      <li><?php echo $row->answer1; ?></li> 
       <li><?php echo $row->answer2; ?></li> 
       <li><?php echo $row->answer3; ?></li> 
       <li><?php echo $row->answer4; ?></li> 
       <li><?php echo $row->answer5; ?></li> 
       <li><?php echo $row->answer6; ?></li> 
      <ul> 
     </div> 
      <?php endforeach; ?> 
      <?php else : ?> 
      <h2>no records were returned</h2> 
      <?php endif; ?> 
    </body> 
</html> 


控制器:

<?php 

class Survay extends CI_Controller{ 

    function index() 
    { 
     $data = array(
      'question' => $this->input->post('question'), 
      'answer1' => $this->input->post('answer1'), 
      'answer2' => $this->input->post('answer2'), 
      'answer3' => $this->input->post('answer3'), 
      'answer4' => $this->input->post('answer4'), 
      'answer5' => $this->input->post('answer5'), 
      'answer6' => $this->input->post('answer6'), 
     ); 


     if($query = $this->membership_model->get_records()) 
     { 
      $data['records'] = $query; 
     } 

     $this->load->view('survay_view', $data); 

    } 



    function page() 
    { 
     //pagination 
     $this->load->library('pagination'); 

     $config['base_url'] = 'http://localhost/admin/index.php/survay'; 
     $config['total_rows'] = $this->db->get('save_survay')->num_rows(); 
     $config['per_page'] = 1; 
     $config['num_links'] =20; 

     $this->pagination->initialize($config); 

     $data['records'] = $this->db-get('save_survay', $config['per_page'], $this->uri->segment(3)); 
     $this->load->view('survay_view', $data); 
    } 
} 
?> 

回答

4

在你的控制器中,$this->load->view...行之前,你应该这样做:

$data['pagination'] = $this->pagination->create_links(); 

和看法,与

echo $pagination; 

更新替换echo $this->pagination->create_links()

来源:请参见下面

我错过了部分Jeemusu的评论,您使用了同样的看法有两种控制器方法,并且您不在一个视图中添加分页。

如此,而不是仅仅增加echo $pagination;你应该补充一点:

// check if $pagination variable is existing 
if (isset($pagination)) 
{ 
    echo $pagination; 
} 
+1

因为'index()'和'page()'方法都使用了相同的视图'survay_view',所以你可能需要在'if(isset($ pagination)){}'但分页数据仅在page()方法中设置。 – Jeemusu 2013-02-14 08:09:04

+0

tnx为你的帮助,但你可以扩大更多的你的评论我是一个noob上的PHP :) tnx – 2013-02-14 08:26:34

+0

@Jeemusu:这是真的 – beerwin 2013-02-14 08:32:02

0

您需要自动加载分页库...只是加载它的功能是不行的。