以下に示すように、質問のリストをデータベースに照会しています。Codeigniterページネーションでクエリ結果の最初の行が表示されない
私のモデルでは、質問数(count_questions()
)だけでなく、質問自体(get_questions($args)
)が返されます。ページ番号が付けられます。
$limit = '10';
$count = $this->forum_model->count_questions();
$offset = $this->uri->segment(3, 0);
$this->load->library('pagination');
$config['base_url'] = base_url() . 'forum/all/';
$config['total_rows'] = $count;
$config['per_page'] = $limit;
$config['full_tag_open'] = '<div class="pagination">';
$config['full_tag_close'] = '</div>';
$config['uri_segment'] = 3;
$this->pagination->initialize($config);
$data['q'] = $this->forum_model->get_questions(NULL, $limit, $offset);
$data['pag_links'] = $this->pagination->create_links();
私は見てい奇妙な振る舞いは、そのcount_questions()
戻って「25」(正解である)です。
ただし、ページング出力には24個の質問が表示され、データベースの最初の行/質問はスキップされます。
最初は、オフセットが間違っている可能性があると考えましたが、最初のページでは0に設定されています。
私がページネーションを使用しない場合、コントローラーは25個の質問すべてを私のビューに出力します。だから、私がやっていることがあると思われるページネーションの制限/オフセットがあるようです。
ここに間違いがありますか?
ありがとうございます。
デフォルトモデル(count_questions)
function count_questions()
{
$query = $this->db->query("
SELECT *
FROM forum_qa
WHERE forum_qa_type = 1;
");
return $query->num_rows;
}
モデルで使用しているコードを表示できますか? –
投稿を更新しました - あなたの考えを知ってもらいますように - ありがとう – pepe
そして 'forum_model-> count_questions();'? –