0

単一のコントローラー関数 Browse() に渡されるさまざまな uri セグメントを定義することによって検索される製品のリストをページ分割しようとしています。CI の uri_to_assoc() を使用して、SQL クエリに渡されるキー ペアのリストを作成しています。しかし、これのページネーションがどのように機能するかについて頭を悩ませようとしているのは本当に困難です。うまくいけば私の問題を説明するいくつかの例を挙げます。

サイトに掲載されている商品をカテゴリ、ブランド、または範囲別に閲覧できるようにしたいと考えています。ユーザーは、次のような 3 つの検索要素の任意の組み合わせを閲覧できる必要があります。

問題は、ページネーションに関しては、CI は常にこれを URL の最後に追加することです。そのため、クエリの深さに応じて、URL 内のオフセット パラメータの位置が異なります。

オフセット セグメントをこの形式に導入する方法を知っている人はいますか? また、これらのページの最初のロードでは、オフセット セグメントはまったく設定されず、後続のページのロードでのみ存在することを忘れないでください。

可能であればクエリ文字列を使用する必要はなく、URL セグメント ベースのアプローチに固執する必要はありません。

ありがとう。

4

1 に答える 1

1

常にページの最後にオフセットを追加してから、次のように取得します。

 $offset = (int) end($this->uri->segment_array());

タイプキャストは、有効なオフセットでない場合は 0 を提供します (つまり、ベース オフセットがあります)。

ソース: http://codeigniter.com/user_guide/libraries/uri.html

于 2012-10-03T14:12:32.903 に答える