複数の検索基準を使用してページネーションを実装しようとしています。私は学生のテーブルを持っているとします。学生のリストが表示されるときにもページネーションを使用します。ページネーションのリンクです。site_url . '/student/page/';
だから私は使用し$config['uri_segment'] = 1
ます; したがって、ページネーションのリンクは
<a href="http://mysite/index.php/student/page/0">1</a>
<a href="http://mysite/index.php/student/page/1">2</a>
と息子。
その後、テキストフィールドを使用して実装された 3 つの検索条件を使用して学生データを検索したいと考えています。
id name address.
ユーザーは、ID、名前、住所、または 3 つの条件の組み合わせで検索できます。URLは次のようになります
http://mysite/index.php/student/page/0
href=http://mysite/index.php/student/page/1
と息子。
しかし、検索には get メソッドを使用します。検索基準フィールドを使用して検索しようとすると、URLは次のようになります
href="http://mysite/index.php/student/page/1?id=1&name=a&address=b
基準に基づいてページネーションを作成しようとしたときに問題が発生しました。ページネーションのリンクにクエリ文字列が含まれているため、作成方法がわかりません
href="http://mysite/index.php/student/page/0?id=1&name=a&address=b
href="http://mysite/index.php/student/page/1?id=1&name=a&address=b
または、この問題を解決するためのベストプラクティスはありますか?
こんにちはフィル .... あなたの提案を試してみました。
$array = array('id' => '001', 'name' => 'a', 'address' => 'canada');
のURLになり
id/001/name/a/address/canada
ます。関数を使用$this->uri->uri_to_assoc()
して、セグメントのキーと値を取得します。
array (
id => 001,
name=>a,
address=>canada
)
ただし、検索中に含まれていない検索基準がいくつかあります。たとえば、ユーザーは名前と住所だけで検索します。配列は次のようになり
、連想配列は次$array = array('id' => '', 'name' => 'a', 'address' => 'canada');
の URLになりますid/name/a/address/canada
array (
id => name,
a=>address,
canada=>
)
連想配列は再び混乱することはありません。そのため、連想配列の正しい値を取得できません。含まれていない場合は、識別子を検索基準に設定すると思います。私が入れたとし#
ます。
if isset($_GET['id']) then
$id = '#'
else
$id = $_GET['id']
$array = array('id' => $id, 'name' => 'a', 'address' => 'canada');
どのようにそのことについて ... ?または別のベストプラクティスがある場合は?