2012-08-29 105 views
0

嗨,我試圖讓代碼點火器的分頁權,但它似乎不想正常工作。我得到的第二頁,但分頁消失,我還是得到了右表雖然和我有2個錯誤:CodeIgniter的分頁

A PHP Error was encountered 
Severity: Notice 
Message: Undefined offset: 0 
Filename: models/evaluation_model.php 
Line Number: 37 

A PHP Error was encountered 
Severity: Notice 
Message: Trying to get property of non-object 
Filename: models/evaluation_model.php 
Line Number: 37 

控制器功能:

function showEvaluations($offset = 0) 
     { 
      if($this->login->is_logged_in()) 
      { 
       $limit = 5; 
       $result = $this->evaluation_model->getAllEvaluations($limit, $offset); 

       if ($this->session->userdata('type') == 'admin') 
       { 
        $data['evaluations'] = $result['evaluations']; 
        $data['total'] = $result['num_rows']; 
        $data['notallowed'] = false; 
        $config = array(); 
        $config['base_url'] = base_url("evaluation/showEvaluations/"); 
        $config['total_rows'] = $data['total']; 
        $config['per_page'] = $limit; 
        $config['uri_segment'] = 3; 
        $this->pagination->initialize($config); 
        $data['pagination'] = $this->pagination->create_links(); 
        $this->load->view('allevaluations_view', $data); 
       } 
       else 
       { 
        $data['notallowed'] = true; 
        $this->load->view('allevaluations_view', $data); 
       } 


       //$this->load->view('allevaluations_view', $data); 
      } 
      else 
      { 
       $this->load->view('login_view'); 
      } 
     } 

和型號:

function getAllEvaluations($limit, $offset) 
     { 
      $q = $this->db->select('tblPunten.PK_PuntID, tblPunten.Titel, tblPunten.Score, tblVakken.Vak, tblUsers.username, tblUsers.Voornaam, tblUsers.Achternaam') 
          ->from('tblPunten') 
          ->join('tblVakken', 'tblPunten.FK_VakID = tblVakken.PK_VakID') 
          ->join('tblUsers', 'tblPunten.FK_UserID = tblUsers.PK_UserID') 
          ->limit($limit, $offset); 

      $query['evaluations'] = $q->get()->result(); 

      $q = $this->db->select('COUNT(*) as count', FALSE) 
          ->from('tblPunten') 
          ->limit($limit, $offset); 
      $tmp = $q->get()->result(); 
      $query['num_rows'] = $tmp[0]->count; 
      return $query; 


     } 

線37:$query['num_rows'] = $tmp[0]->count;

+0

確認'$ tmp'是一個數組,其索引'0'被設置,索引'0'處的對象有一個名爲'count'的成員變量。 – Matt

+0

我做了完全相同的事情,我在這裏做了另一個項目,它在那裏工作完美,所以我似乎無法找到問題。 –

+0

***驗證***'$ tmp'是一個數組,其中索引'0'被設置,並且索引'0'處的對象有一個名爲'count'的成員變量。 – Matt

回答

1

找到它,所述第二查詢:

$q = $this->db->select('COUNT(*) as count', FALSE) 
          ->from('tblPunten') 
          ->limit($limit, $offset); 

必須是沒有限制:

$q = $this->db->select('COUNT(*) as count', FALSE) 
         ->from('tblPunten') 
0

在笨,->result()一個對象。

如果你想要這種形式的數組,那麼我們可以使用->result_array(),這樣我們就可以以數組的形式得到結果集。

$tmp = $q->get()->result_array();//made changes 
$query['num_rows'] = $tmp[0]['count'];//will work