Codeigniter を使用して Web ブログを設定しています。
ビューには 2 つのテンプレートがあり、1 つはブログ用 (サイドバー用の 2 列) で、もう 1 つは 1 列のページ用です。クリックして単一の投稿を表示すると、コントローラーは次のようにテンプレートを読み込みます
$this->template->load('blog_template', 'blog_post', $data);
クエリの結果は呼び出された ID の投稿のみを保持するため、すべての投稿のタイトルを入力するはずのサイドバーには、まさにこの投稿のタイトルのみが表示されます。
サイドバーにすべての投稿タイトルを表示するために、次のようにして 2 つのクエリ結果を返しました。
function view_post() {
$data = array();
$q1 = $this->site_model->get_by_id();
if (isset($q1)) {
$data['by_id'] = $q1;
}
$q2 = $this->site_model->get_all();
if (isset($q2)) {
$data['records'] = $q2;
}
$this->template->load('blog_template', 'blog_post', $data);
}
ビューでは、サイドバーと単一の投稿の$data
ように渡されたものをループしますが、これを行うとエラーが発生します。$records as row
$by_id as row
page not found
同じ関数内から複数のクエリ結果を実際に処理するべきではないと思います。
より良い練習で、どうすれば欲しいものを手に入れることができますか?