Maison > base de données > tutoriel mysql > Comment implémenter la pagination PHP et MySQL pour de grands ensembles de données ?

Comment implémenter la pagination PHP et MySQL pour de grands ensembles de données ?

Barbara Streisand
Libérer: 2024-12-04 00:50:10
original
637 Les gens l'ont consulté

How to Implement PHP and MySQL Pagination for Large Datasets?

Pagination PHP et MySQL

Une tâche courante des applications Web consiste à afficher de grands ensembles de données dans un format paginé, permettant aux utilisateurs d'afficher un nombre limité de nombre de résultats par page. Cela peut améliorer l'expérience utilisateur et les performances.

Considérons une requête MySQL qui récupère tous les enregistrements de la table « redirection » filtrés par un ID utilisateur :

SELECT * FROM redirect WHERE user_id = '".$_SESSION['user_id']."' ORDER BY 'timestamp'
Copier après la connexion

Pour paginer cette requête de telle sorte qu'elle affiche 10 résultats par page, suivez ces étapes :

<?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
?>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal