Je cherche un moyen de réaliser un système de pagination sur l'affichage d'un array.
Il y a de nombreux tuto là dessus mais seulement à partir de la base de donnée. Ce que je voudrais c'est diviser l'affichage des données de mon array directement sans passer par une bdd. Avec évidement un système de sélection de la page.
Est-ce possible ou suis-je obligé de passer par la bdd ?
Je vois, mais ces paramètres vont devoirs changer en fonction de la page sélectionnée, comme faire quelque chose d'adaptatif sans coder en dur les paramètres ?
voici un code sans prétention (< de 10 lignes sans commentaires) qui peut te montrer un exemple.Tout est évolutif. A toi d'adapter et de sécuriser le tout !
<?php
//ATTENTION
//Code non sécurisé, non optimisé, ne détecte pas une page hors plage
//Ne détecte pas une page négative, ne détecte pas le bon type de donnée en GET
//Uniquement à titre de démonstration de pagination simple d'un array
//...
//On récupère la page demandée, ou alors page 1 par défaut
$page = (isset($_GET['p']) ? $_GET['p'] : 1);
//On donne une limite de données par page
$limit = 3;
//Tableau basique de valeurs
$data = ['data 0','data 1','data 2','data 3','data 4','data 5','data 6','data 7','data 8','data 9','data 10','data 11','data 12',
'data 13','data 14','data 15','data 16','data 17','data 18','data 19','data 20','data 21','data 22','data 23','data 24'];
//Calcul du début et fin de la pagination
$start = ($page-1)*$limit;
$end = $page*$limit;
//Boucle d'affichage
for($i=$start;$i<$end;$i++):
echo $data[$i].'<br />';
endfor;
Je crois avoir compris, je vous tiens au courant quand je réussi mon code ! Merci !
Système de pagination sur un array
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
N'oubliez pas d'activer les erreurs PDO.