PHP でデータのページングと表示にデータベース クエリと結果のページング関数を使用するにはどうすればよいですか?
Web アプリケーションを開発する場合、商品一覧やニュース一覧など、大量のデータを処理してページ上に表示する必要があることがよくあります。データの量が多い場合、すべてのデータを一度にページにロードすると、パフォーマンスに影響を与えるだけでなく、ページのロードが遅くなる可能性があります。現時点では、データをページングすることが一般的かつ効果的な対処方法です。
この記事では、PHP でデータベース クエリと結果ページング関数を使用してデータのページングと表示を行う方法を紹介します。データベースの例として MySQL を使用し、コード例を示して詳しく説明します。
まず、PHP の MySQLi 拡張機能または PDO ライブラリを使用して、MySQL データベースに接続する必要があります。以下は、データベースに接続するためのサンプル コードです。
connect_error) { die("Connection failed: " . $conn->connect_error); } // 使用PDO连接数据库 try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connected successfully"; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } ?>
上記のコードでは、your_username
、your_password
、およびyour_database## を置き換える必要があります。 # 実際のデータベースのユーザー名、パスワード、データベース名を置き換えます。
prepare($sql); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); return $result; } $limit = 10; // 每页显示的数据数量 $page = isset($_GET['page']) ? $_GET['page'] : 1; // 当前页码 $offset = ($page - 1) * $limit; // 计算偏移量 $products = getProducts($conn, $limit, $offset); $totalRows = $conn->query("SELECT COUNT(*) FROM products")->fetchColumn(); $totalPages = ceil($totalRows / $limit); ?>
getProducts関数は接続オブジェクト、つまりページごとに表示されるデータ量
$limitを受け入れます。値
$offsetは、クエリを実行してクエリ結果を返すためのパラメータとして使用されます。
$limitと
$offsetは、現在のページ番号
$pageを計算することで取得されます。
$totalRowsこの変数は、
SELECT COUNT(*)クエリを実行することで取得されるデータ行の総数を保存するために使用されます。
$totalPagesこの変数は、データの総行数を各ページに表示されるデータの量で割ることによって計算される総ページ数を保持するために使用されます。
{$product['name']}"; echo "{$product['description']}
"; echo "
"; } // 分页链接 for ($i = 1; $i <= $totalPages; $i++) { echo "$i "; } ?>
以上がPHP でデータのページングと表示にデータベース クエリと結果ページング関数を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。