집 >데이터 베이스 >MySQL 튜토리얼 >대규모 데이터 세트에 대해 PHP 및 MySQL 페이지 매김을 구현하는 방법은 무엇입니까?
PHP 및 MySQL 페이지 매김
웹 애플리케이션의 일반적인 작업 중 하나는 대규모 데이터 세트를 페이지 매김 형식으로 표시하여 사용자가 제한된 페이지만 볼 수 있도록 하는 것입니다. 페이지당 결과 수. 이는 사용자 경험과 성능을 향상시킬 수 있습니다.
사용자 ID로 필터링된 '리디렉션' 테이블에서 모든 레코드를 검색하는 MySQL 쿼리를 고려해 보십시오.
SELECT * FROM redirect WHERE user_id = '".$_SESSION['user_id']."' ORDER BY 'timestamp'
이 쿼리를 페이지로 매기려면 페이지당 10개의 결과가 표시됩니다. 다음 단계를 따르세요.
<?php // Insert your MySQL connection code here // Set the number of results per page $perPage = 10; // Get the current page number from GET request (or default to 1) $page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1; // Calculate the starting record for the specified page $startAt = $perPage * ($page - 1); // Count the total number of records in the table $query = "SELECT COUNT(*) as total FROM redirect WHERE user_id = '".$_SESSION['user_id']."'"; $r = mysql_fetch_assoc(mysql_query($query)); // Calculate the total number of pages $totalPages = ceil($r['total'] / $perPage); // Generate the pagination links $links = ""; for ($i = 1; $i <= $totalPages; $i++) { $links .= ($i != $page ) ? "<a href='index.php?page=$i'>Page $i</a> " : "$page "; } // Execute the paginated query $r = mysql_query($query); $query = "SELECT * FROM `redirect` WHERE `user_id`= '".$_SESSION['user_id']."' ORDER BY 'timestamp' LIMIT $startAt, $perPage"; $r = mysql_query($query); // Display the results using the pagination system echo $links; // Show links to other pages ?>
위 내용은 대규모 데이터 세트에 대해 PHP 및 MySQL 페이지 매김을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!