0

現在、単純なページネーションに PHP PEAR を使用しています。既存の結果ビュー内でレコードセットをページングする方法の推奨される方法または例はありますか? 典型的なモデルは次のようになります。

Search -> Results -> View Record 

ページングは​​結果ページでのみ可能です...私が求めているのは、「レコードの表示」内でもページングできることです。したがって、レコードを表示しているときに、結果セット内の次の (または前の) レコードに簡単にページングすることができます。もちろん、結果ページからビュー ページにレコード セットの状態変数とページネーション変数を渡すこともできますが、これを行うためのより洗練された方法があるかどうか疑問に思っていました。アイデアや推奨事項はありますか?ありがとう!

4

2 に答える 2

1

PEAR Pagination コードがここで役立つとは思いません。

レコードの表示ページにクエリ文字列パラメーター RecordID があると仮定すると、レコードの表示ページにリンクを作成できPrevますNext。前のレコードと次のレコードを取得するには、次のような SQL ステートメントを使用できます。

前へ-SELECT RecordID FROM records WHERE RecordID < '" . $CurrRecordID . "' ORDER BY RecordID DESC LIMIT 1

次へ-SELECT RecordID FROM records WHERE RecordID > '" . $CurrRecordID . "' ORDER BY RecordID ASC LIMIT 1

結果ページの並べ替えが異なる場合は、それに応じて変更します。

于 2012-04-24T17:04:48.563 に答える
0

PEAR ページネーションを使用してそれを行う方法を考え出しました。これをテストするために、検索結果ページを複製し、レコード セットを展開し、View Record ページからすべての詳細情報を取得しました。基本的に、重複した結果ページに、検索結果フィールドではなく、View Records の詳細を表示させました。次に、ページネーションの結果を 1 ページあたり 1 レコードに制限しました。元の検索結果ページにリンクするために、pageID 番号を複製ページに渡しました。結果セットがどのページにあるかを計算して、それを相殺する必要がありました。そうすれば、pageID は結果の数を正確に反映します。ページごとに 20 レコードを返し、結果セットの 2 ページ目にいた場合...結果の最初のレコードには 21 の pageID が必要であることがわかっていました。

于 2012-04-26T14:48:28.407 に答える