PHP ページネーション: 単純なスクリプト
はじめに
Web アプリケーションのデータを効率的に管理するページネーションを実装して、大量のデータを管理可能なページに分割することが含まれます。この記事では、PHP でページネーションを可能にする基本的なスクリプトを説明します。
PHP ページネーション スクリプト
別々のページで同じコードを繰り返すことを避けるために、HTML とPHP。スクリプトは次のとおりです:
<?php try { // Count total database rows $total = $dbh->query('SELECT COUNT(*) FROM table')->fetchColumn(); // Set pagination parameters $limit = 20; $pages = ceil($total / $limit); // Get current page number $page = filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT, ['options' => ['default' => 1, 'min_range' => 1]]); // Calculate query offset $offset = ($page - 1) * $limit; // Display pagination information $start = $offset + 1; $end = min(($offset + $limit), $total); $prevlink = ($page > 1) ? '<a href="?page=1" title="First page">«</a> <a href="?page=' . ($page - 1) . '" title="Previous page">‹</a>' : '<span class="disabled">«</span> <span class="disabled">‹</span>'; $nextlink = ($page < $pages) ? '<a href="?page=' . ($page + 1) . '" title="Next page">›</a> <a href="?page=' . $pages . '" title="Last page">»</a>' : '<span class="disabled">›</span> <span class="disabled">»</span>'; // Prepare paged query $stmt = $dbh->prepare(' SELECT * FROM table ORDER BY name LIMIT :limit OFFSET :offset '); $stmt->bindParam(':limit', $limit, PDO::PARAM_INT); $stmt->bindParam(':offset', $offset, PDO::PARAM_INT); $stmt->execute(); // Display results if ($stmt->rowCount() > 0) { $stmt->setFetchMode(PDO::FETCH_ASSOC); $iterator = new IteratorIterator($stmt); foreach ($iterator as $row) { echo '<p>' . $row['name'] . '</p>'; } } else { echo '<p>No results could be displayed.</p>'; } } catch (Exception $e) { echo '<p>' . $e->getMessage() . '</p>'; } ?>
結論
このスクリプトは HTML と PHP を使用して複数のページにわたってデータを動的に表示し、ユーザーにシームレスで直感的なブラウジング エクスペリエンスを提供します。
以上がWeb アプリケーションに単純な PHP ページネーションを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。