2012-08-29 64 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