2011-12-05 3 views
-4

問合せの要素数がなく、すべての要素をdbから取得せずに、ページ区切りシステムを実行するにはどうすればよいですか。私は動的なサイズやイテレータを使いたいです。私はSQL_CALC_FOUND_ROWSまたはCOUNT(*)を避けたいです。クエリ数のないページネーション?

+0

ページ分割の種類は?ページ番号は? –

+0

@ Col.Shrapnelはい、ページ番号は –

+1

どのようにレコード数を知らずにページ数を取得するはずですか? –

答えて

0

何件あるのかわからなくても、完全なページ分割インターフェースを作成することはできません。ユーザーの「次の」/「前の」ボタンを表示することはできますが、そこにいくつのページがあるか、現在表示されているページを表示することはできません。

...それは、あなたがゼロの詳細を与えたので、私がそれについて言うことができるすべてです。

1

あなたがMySQLを使用している場合、SQL_CALC_FOUND_ROWSに続いてSELECT FOUND_ROWS()があなたの友人です。それ以外の場合は、利用可能なデータの量を確認するために別のCOUNT(*)クエリを実行する必要があります。

どちらの行があるかわかると、1ページあたりのアイテム数で割ってページ数をカウントし、ページ設定コントロールを並べ替えることができます。それは本当に難しいことではありません。データを集計するオーバーヘッド(データベースにすべてのデータを取得して手動でカウントするのではなく、データをカウントするように要求する場合)

また、サイトの多くは、これらの日は、原油の「ロード複数の項目」ではなく、実際のページネーションのボタンに怠惰やリゾート得ます。ユーザーを嫌ったり、数ページ以下であれば、それは良い選択です。

関連する問題