1

複数の検索基準を使用してページネーションを実装しようとしています。私は学生のテーブルを持っているとします。学生のリストが表示されるときにもページネーションを使用します。ページネーションのリンクです。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');

どのようにそのことについて ... ?または別のベストプラクティスがある場合は?

4

2 に答える 2

1

そのためには、$this->uri->uri_to_assoc() を使用します。

index.php/user/search/name/joe/location/UK/gender/male

この関数を使用すると、このプロトタイプで URI を連想配列に変換できます。

[array]
(
    'name' => 'joe'
    'location' => 'UK'
    'gender' => 'male'
)

ここで完全なドキュメントを参照してください。

最初のロットとして page/1 を使用し、その後に /name/ を使用することもできます。

于 2010-01-21T15:31:47.607 に答える
0

実際、複数の無制限の基準でページネーションを作成できます。ここを読むhttp://dengkul.com/2010/07/08/codeigniter-pagination-with-multiple-unlimited-searching-criteria/

于 2010-07-08T07:43:04.630 に答える