最近、phpのCIフレームワークを使用して独自のCMSを書くことを学んでいますが、いくつかの問題に遭遇しました。
そのうちの 1 つは、CI ページングのときに、必要なデータを見つけるための他のパラメーターが URL に含まれていることです。そこでGoogleで検索したところ、ほぼ私が考えていた通りの解決策が見つかったので、皆さんと共有するために投稿しました。
まず、base_url、$block、create_id、has_pass、pass_idをクエリ条件として設定し、GETメソッドでフォームを送信し、条件の有無に応じてbase_urlとクエリ条件を変更します
$config['base_url'] = base_url()."index.php/admin/article/manage?"; if(!empty($_GET['block'])){ $this->db->where('class_id', $_GET['block']); $config['base_url'].="&block=".$_GET['block']; } if(!empty($_GET['create_id'])){ $this->db->where('create_id', $_GET['create_id']); $config['base_url'].="&create_id=".$_GET['create_id']; } if(!empty($_GET['has_pass'])){ $this->db->where('has_pass', $_GET['has_pass']); $config['base_url'].="&has_pass=".$_GET['has_pass']; } if(!empty($_GET['pass_id'])){ $this->db->where('pass_id', $_GET['pass_id']); $config['base_url'].="&pass_id=".$_GET['pass_id']; }
その後、ターンしますon page_query_string
$config['page_query_string'] = TRUE;
最後に表示されるURLはこんな感じ
http://localhost/lycms/index.php/admin/article/manage?&block=8&create_id=0&has_pass=1&pagenow=2
page_query_stringをonにした後のURLの後に&per_page=2が自動的に付加されます。
はい、以上です。
CI がページング リンクを出力するときに「合計 X レコードと N/X ページ」という単語を追加したい学生もいます。これは実際には、CI ページング ファイル systemlibrariesPagination.php に次のコードを追加するだけです。はい、以上です