さて、それで私はもう少し具体的になります(私の最後の質問以来)。
基本的に、ページ付けページがあります。表示カテゴリは3つありますが、ページ付けページごとに表示されるアイテムは50個だけです。したがって、1ページを占める単一のカテゴリすべて、または異なるカテゴリの組み合わせを取得できますが、1ページあたり50アイテムを超えることはできません。新しいカテゴリに到達すると、ヘッダーが表示され、次に関連するアイテムが表示されます。各カテゴリをリクエストするためのajax呼び出しに追加する数学を理解するのに苦労しています。たとえば、リネンを検索するとします。そして、以下に示すように、3つのカテゴリにまたがる合計329の一致を取り戻すとしましょう。これで、いくつかのデータが返されるので、一度に50個のアイテムしか照会しませんが、特定のことを前もって知ることができます。
A.リネンを検索する:
ベースデータ
Total Items: 129
Category1 has 111 items
Category2 has 101 items
Category3 has 17 items
したがって、1ページ目に次のように表示されます。
CATEGORY 1 HEADER
... list of the 50 items ...
B.ユーザーが[次へ]をクリックすると(まだカテゴリ1のしきい値にあるため)、2番目の50のセットが表示されます。
2ページ:
CATEGORY 1 HEADER
List of next 50 items
C.ユーザーが[次へ]をクリックします(カテゴリ1の合計を壊したので、カテゴリ2に到達します)。
ページ3:
CATEGORY 1 HEADER
List of 11 items
CATEGORY 2 HEADER
List of 39 category 2 items
等..
私が抱えている問題は、大量のif / else / || / &&などを実行しなくても、範囲を指定できる優れたアルゴリズムがあるため、「次の」ページをクリックすると、ajaxparamsリクエストの範囲を指定できます。バックエンド。
つまり、次の3番目のページで-をクリックします(上記のように、category1とcategory 2の両方があります)。完璧な世界では、私のAjaxは2つの呼び出しを実行します。1つはカテゴリ1用、もう1つはカテゴリ2用です。もちろん、50匹のリストが3匹の猫すべてに完全にまたがっている場合、3回の呼び出しが行われます。
/category1?rows=11&start=101
/category2?rows=39&start=1
そんな感じ。したがって、101の開始で最初のajax呼び出しから11個のアイテムが必要なことはわかっています。バックエンドは、範囲が101〜111などであることを認識していると思います。
私はここで私のニーズを満たすのに十分簡潔であることを願っています。解決策は非常に数学的なようです。
私は物事を鉛筆で書くだけの線に沿って働いていました...
(category1-(max x(currPage-1))/ max> =1->trueの場合は50カテゴリ1を要求します。
(category1-(max x(currPage-1))/ max <1->モジュラス量を要求してから、category2に入る
jqueryを使用します。