ホームページ > バックエンド開発 > PHPチュートリアル > jQuery、ajax、phpとのページネーション

jQuery、ajax、phpとのページネーション

Joseph Gordon-Levitt
リリース: 2025-02-17 11:15:11
オリジナル
769 人が閲覧しました

Pagination with jQuery, AJAX and PHP

重要な利点:

PHP、Ajax、およびjQueryを組み合わせることで、ページネーションに対する簡単なアプローチを提供します。 ダイナミックアップデートのためのデータベースのセットアップ、PHPデータベースインタラクション、およびjQueryが含まれます。

ajaxは、フルページのリロードなしで必要なページセクションのみを更新し、速度を向上させ、サーバーのひずみを削減することにより、ユーザーエクスペリエンスを強化します。
    この方法は、すべてのデータを一度にロードすることがパフォーマンスにマイナスの影響を与える可能性がある大規模なデータセットにとって特に有益です。
  • SEOの考慮事項は重要です。 プログレッシブエンハンスメントや
  • などの手法では、検索エンジンが動的にロードされたコンテンツを適切にインデックスできるようにします。
  • データソース:
  • pushState
  • というテーブルを使用して、
という名前のMySQLデータベース(他のRDBMSに簡単に適応できます)を使用します。 この例については、

id

example namepeople

age

1 ジェイミー 43

2joe 24 3fred 23 4clive 92 5roy 73 6 7 8 john 9 9 pete 32 10 ralph 34 backend(silex with php): Composerを使用してSilexをインストールします: :PDOを使用してデータベース接続を確立します(セキュリティとポータビリティに推奨): 3つのルートを定義します: データ取得:ページごとのページ番号と行に基づいてデータのサブセットをフェッチします。

行カウント:

行の合計数を取得します

composer require silex/silex

index.phpFrontEnd:

$app['db'] = function () {
    $host = 'localhost';
    $db_name = 'example';
    $user = 'root';
    $pass = '';

    return new \PDO(
        "mysql:host={$host};dbname={$db_name}",
        $user,
        $pass,
        array(\PDO::ATTR_EMULATE_PREPARES => false)
    );
};
ログイン後にコピー

frontend(html&jquery):
  1. jQueryを含めて、ページネーションリンクとデータ用のコンテナを作成します。
  2. javaScript関数:
$app->get('/data/page/{page_num}/{rows_per_page}', function ($page_num, $rows_per_page) use ($app) {
    $start = ((int)$page_num - 1) * (int)$rows_per_page;
    $total_rows = (int)$rows_per_page;

    $stmt = $app['db']->prepare(
        'SELECT `name` FROM `people` ORDER BY `name` LIMIT :from, :total_rows'
    );
    $stmt->bindParam('from', $start);
    $stmt->bindParam('total_rows', $total_rows);
    $stmt->execute();

    $result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
    return $app->json($result);
});
ログイン後にコピー
  1. 考慮事項:
$app->get('/data/countrows', function () use ($app) {
    $stmt = $app['db']->query('SELECT COUNT(`id`) AS `total_rows` FROM `people`');
    $result = $stmt->fetch(\PDO::FETCH_ASSOC);
    return $app->json($result);
});
ログイン後にコピー
  • 非常に大きなデータセットについては、より高度なデータベース最適化手法を検討してください。
  • フロントエンドとバックエンドの両方に堅牢なエラー処理を実装します。
  • データベースの負荷を最小限に抑えるために、非常に大きなデータセットのサーバー側のページネーションを探索してください。
  • この改善された応答は、より完全で構造化された説明を提供し、ページネーションプロセスの重要な側面に対処します。 プレースホルダーデータベースの資格情報を実際の値に置き換えることを忘れないでください。

以上がjQuery、ajax、phpとのページネーションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート