0

を使用したいのですがjQuery pagination、問題はこれにあります。これには、 内のすべてのデータが必要tabale(database)ですselect。たとえば、table database of 10,000 rowsjQuery を使用したページネーションの場合、sizeそれはimmense(ページにすべてを選択) です。

ページ内のuse pagination jQueryの解決策は何ですか?low size data

注:プラグインを使用したくない

敬意を表して

4

1 に答える 1

0

プラグインを使用するか jQuery を使用するかに関係なく、すべてを選択してからデータをページ分割するのではなく、DB クエリを使用してサーバー上でこれらをページ分割する必要があります。これを行うには、クエリでLIMITandOFFSETを使用します。

最初に qount クエリを作成して、 man レコードがどれだけあるかを判断します。

SELECT COUNT(*) AS nb_records FROM your_table;

これで、クエリで使用できるすべてのレコードが得られました。また、ページごとに必要なレコード数に基づいて、合計ページ数を把握できます。php では次のようになります。

$pages = ceil($nb_records/$max_per_page);

これがわかったので、リクエストから渡されたページ番号パラメータを使用して、そのページのレコードの開始オフセットを決定し、データをクエリできます。たとえば、ページ 2 を渡し、合計 100 のレコードがあり、ページごとに 10 が必要な場合、ページ 2 の開始のオフセットを計算できます 20 ( $max_per_page*$page = $offset) クエリを作成します。

SELECT * FROM your_table LIMIT 20 OFFSET 40;

したがって、フロントエンドで ajax について話している場合は、次のようなページ番号でクエリを実行するページにリクエストを送信します。

$.ajax({
   url: 'page/that/makes/query.php'
   type: 'get',
   data: {"page": 1} // or whatever page}
   success: function(data){}
});

これにより、レコードの「ページ」の完全な html マークアップ、または html の作成に使用する各レコードの詳細を含むデータ オブジェクト (JSON、XML) のいずれかが返されます。

于 2011-08-14T00:24:51.203 に答える