我的模型中有一个模型
public function selectWhereLimitOffset($table_name, $where = NULL, $limit, $offset)
{
if ($where) {
$this->db->where($where);
}
$this->db->order_by('post_id', "desc");
if($limit)
$this->db->limit($limit, $offset);
$result = $this->db->get($table_name);
return $result->result();
}
我在我的控制器中使用此函数调用此方法:
public function exams($page_id = NULL)
{
$offset = 0;
if($page_id == NULL)
$offset = 1;
else
$offset = ($page_id * 10);
$limit = 10;
$data['main_content'] = 'dashboard/exams';
$data['page_errors'] = FALSE;
$where = NULL;
$data['results_exam'] = $this->Fetch->selectWhereLimitOffset('exam', $where, $limit, $offset);
$data['results_count_total'] = $this->Fetch->getCount('exam');
$this->load->view('includes/template_su', $data);
}
现在奇怪的是,如果从我的控制器中的其他类似方法调用,方法selectWhereLimitOffset()可以正常工作。但是当从这个方法调用exams()时,它不会从表中获取数据。一种完全正常的类似方法是:
public function posts($page_id = NULL)
{
$offset = 0;
if($page_id == NULL)
$offset = 1;
else
$offset = ($page_id * 10);
$limit = 10;
$data['main_content'] = 'dashboard/posts';
$data['page_errors'] = FALSE;
$where = NULL;
$data['results_post'] = $this->Fetch->selectWhereLimitOffset('post', $where, $limit, $offset);
$data['results_count_total'] = $this->Fetch->getCount('post');
$this->load->view('includes/template_su', $data);
}
还有一件事,下一个声明:
$data['results_count_total'] = $this->Fetch->getCount('exam');
会返回表中的行数,因此可以证明表名没有问题。该表只有一行,如果这可能有帮助。 数据数组的输出如下:
Array
(
[main_content] => dashboard/exams
[page_errors] =>
[results_exam] => Array
(
)
[results_count_total] => 1
)
请帮忙。
答案 0 :(得分:1)
解决了这个问题。只需将偏移值从1更改为0.就是这样。