Position actuelle: Accueil> Derniers articles> Tutoriel sur la mise en œuvre du tri des données et de la pagination des tables PHP

Tutoriel sur la mise en œuvre du tri des données et de la pagination des tables PHP

M66 2025-09-17

Aperçu du tri et de la pagination de la table PHP

Dans le développement Web, le traitement et la présentation de grandes quantités de données sont une tâche courante. Afin de fournir une meilleure expérience utilisateur et d'améliorer les performances du système, les fonctions de tri des données et de pagination sont généralement nécessaires dans les tableaux. Cet article expliquera en détail comment implémenter ces fonctions à l'aide de PHP et inclure un exemple de code complet.

Implémentation de la fonction de tri de table

La mise en œuvre de la fonction de tri permet aux utilisateurs de trier l'ordre ascendant ou descendant en fonction de différents champs. Voici un exemple de code:

<?php
// Obtenez des champs de tri et tri
$sortField = isset($_GET['sort']) ? $_GET['sort'] : 'id';
$sortOrder = isset($_GET['order']) && $_GET['order'] == 'desc' ? 'desc' : 'asc';

// Trier les données en fonction du champ de tri et de la méthode de tri
usort($data, function($a, $b) use ($sortField, $sortOrder) {
    if ($a[$sortField] == $b[$sortField]) {
        return 0;
    }
    if ($sortOrder == 'asc') {
        return ($a[$sortField] < $b[$sortField]) ? -1 : 1;
    } else {
        return ($a[$sortField] > $ b [$ sortfield])? -1: 1;
    }
});

// Afficher le formulaire Echo &#39;<table> &#39;;;
foreach ($ data as $ row) {
    écho &#39;<tr> &#39;;;
    écho &#39;<td> &#39;. $ row [&#39;id&#39;]. &#39;</td> &#39;;;
    écho &#39;<td> &#39;. $ row [&#39;name&#39;]. &#39;</td> &#39;;;
    écho &#39;<td> &#39;. $ row [&#39;Âge&#39;]. &#39;</td> &#39;;;
    écho &#39;</tr> &#39;;;
}
écho &#39;</table> &#39;;;
?>

Dans l'exemple ci-dessus, la fonction USORT () est utilisée pour trier les données. Dans la fonction de rappel, les éléments du tableau sont comparés en fonction des champs sélectionnés par l'utilisateur et de la méthode de tri. Une fois le tri terminé, les données sont rendues dans le tableau par boucle.

Implémentation de la fonction de pagination de table

Pour de grandes quantités de données, des fonctions de pagination sont également nécessaires pour charger des données à la demande et améliorer les performances de la page. Voici l'exemple de code pour implémenter la pagination:

<?php
// Obtenez le numéro de page actuel et la quantité de données affichées par page
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$perPage = 10;

// Calculez la plage de données en fonction du numéro de page actuel
$start = ($page - 1) * $perPage;
$end = $start + $perPage;
$dataToShow = array_slice($data, $start, $perPage);

// Formulaire d&#39;affichage
echo '<table> &#39;;;
foreach ($ datatoshow comme $ row) {
    écho &#39;<tr> &#39;;;
    écho &#39;<td> &#39;. $ row [&#39;id&#39;]. &#39;</td> &#39;;;
    écho &#39;<td> &#39;. $ row [&#39;name&#39;]. &#39;</td> &#39;;;
    écho &#39;<td> &#39;. $ row [&#39;Âge&#39;]. &#39;</td> &#39;;;
    écho &#39;</tr> &#39;;;
}
écho &#39;</table> &#39;;;

// Afficher la liaison de pagination $ totalpages = ceil (compter ($ data) / $ perpage);
pour ($ i = 1; $ i <= $ totalpages; $ i ++) {
    Echo &#39; <a href="?page=' . $i . '">&#39;. $ i. &#39;</a> &#39;;
}
?>

Dans l'implémentation de pagination, la plage de données est calculée par le numéro de page actuel et la quantité de données par page, puis les données à afficher sont extraites à l'aide d'Array_slice () . Enfin, un lien de pagination est généré, permettant aux utilisateurs de passer rapidement à la page requise.

Résumer

Cet article présente comment utiliser PHP pour implémenter les fonctions de tri et de pagination des données de table. Grâce à ces fonctionnalités, les développeurs peuvent gérer et afficher efficacement de grandes quantités de données et améliorer l'expérience utilisateur. L'exemple de code peut être ajusté et optimisé en fonction des besoins réels et convient à divers scénarios d'affichage de données.