Php 使用CodeIgniter进行分页
嗨,我正在尝试使用CodeIgniter来正确分页,但它似乎不想正常工作。我得到了第二页,但是分页消失了,我仍然得到了正确的表,我有两个错误:Php 使用CodeIgniter进行分页,php,mysql,codeigniter,Php,Mysql,Codeigniter,嗨,我正在尝试使用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 Mess
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代码>找到它,第二个查询:
$q = $this->db->select('COUNT(*) as count', FALSE)
->from('tblPunten')
->limit($limit, $offset);
必须不受以下限制:
$q = $this->db->select('COUNT(*) as count', FALSE)
->from('tblPunten')
在codeigniter中,->result()
对象
如果您希望使用该数组形式,那么我们可以使用->result\u array()
,以便以数组形式获得结果集
$tmp = $q->get()->result_array();//made changes
$query['num_rows'] = $tmp[0]['count'];//will work
验证$tmp
是一个数组,其中设置了索引0
,并且索引0
处的对象有一个名为count
的成员变量。我在另一个项目上做了与此完全相同的事情,并且在那里工作正常,因此我似乎找不到问题。验证$tmp
是一个数组,其中设置了索引0
,并且索引0
处的对象具有名为count
的成员变量代码>到第36行并分析输出。在第1页,它给出:array(1){[0]=>object(stdClass)#26(1){[“count”]=>string(1)“9”}
但是当我点击分页转到第2页并使用偏移量时,数组是空的