간단한 PHP 데이터베이스 페이징 스크립트
많은 양의 데이터를 처리할 때 정보를 효과적으로 구성하고 표시하려면 페이징 기능이 중요합니다. 다음은 이 작업을 수행하는 데 도움이 되는 이해하기 쉬운 PHP 페이지 매김 스크립트입니다.
핵심 컨셉:
스크립트는 데이터베이스의 총 항목 수를 결정한 다음 사전 정의된 제한에 따라 모든 항목을 표시하는 데 필요한 페이지 수를 계산합니다. 현재 페이지의 오프셋을 계산하고 시작 및 끝 줄 번호와 같은 현재 페이지에 대한 정보를 표시합니다.
구현 예:
다음 코드 예제는 PHP 페이지 매김 스크립트의 실제 동작을 보여줍니다.
<code class="language-php"><?php // 数据库连接和查询 $dbh = new PDO(...); $total = $dbh->query('SELECT COUNT(*) FROM table')->fetchColumn(); // 分页设置 $limit = 20; $pages = ceil($total / $limit); $page = min($pages, filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT, array( 'options' => array( 'default' => 1, 'min_range' => 1, ), ))); $offset = ($page - 1) * $limit; // 分页显示 $start = $offset + 1; $end = min(($offset + $limit), $total); $prevlink = ($page > 1) ? '<a href="?page=1">首页</a> <a href="?page=' . ($page - 1) . '">上一页</a>' : '« ‹'; $nextlink = ($page < $pages) ? '<a href="?page=' . ($page + 1) . '">下一页</a> <a href="?page=' . $pages . '">尾页</a>' : '› »'; echo "<div><p>此脚本根据数据库结果动态计算分页,提供了一种用户友好的方式,可以一次一页地浏览大型数据集。</p></div>"; echo "<div>显示{$start}到{$end}条记录,共{$total}条记录,共{$pages}页</div>"; echo "<div>{$prevlink} {$nextlink}</div>"; // 查询并显示分页数据 $stmt = $dbh->prepare("SELECT * FROM table LIMIT :limit OFFSET :offset"); $stmt->bindParam(':limit', $limit, PDO::PARAM_INT); $stmt->bindParam(':offset', $offset, PDO::PARAM_INT); $stmt->execute(); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { // 显示数据 echo "<pre class="brush:php;toolbar:false">"; print_r($row); echo ""; } ?>
위 내용은 데이터베이스 결과에 대한 간단한 PHP 페이지 매김을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!