Creer un système de pagination en php
zakou3
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
NHenry Messages postés 15219 Date d'inscription Statut Modérateur Dernière intervention -
NHenry Messages postés 15219 Date d'inscription Statut Modérateur Dernière intervention -
bonjour à tous.
j'ai un problème avec ma pagination,
je ne trouve aucun tuto sur le net qui explique de façon clair comment faire une vraie pagination.je veut dire une pagination qui fait 1 2 3....4 5 c'est à dire une pagination avec troncature et non une pagination du type 1 2 3 4 5 ...qui va jusqu'à 100 pages si on a 100 pages.
voici mon code actuel qui ne me satisfait pas.
aidez moi svp.
<?php
$v6 = $bdd->query('SELECT COUNT(*) as total FROM articles') or die(print_r($bdd->erroInfo()));
$nombre = $v6->fetch(PDO::FETCH_ASSOC);
$total = $nombre['total'];
$articleParPage = 3;
$nombreDePages = ceil($total/$articleParPage);
if(isset($_GET['page']) AND !empty($_GET['page']))
{
$pageActuelle = intval($_GET['page']);
if($pageActuelle>$nombreDePages)
{
$pageActuelle = $nombreDePages;
}
}
else
{
$pageActuelle = 1;
}
$premièreEntrée = ($pageActuelle-1)*$articleParPage;
if($pageActuelle!=1)
{
$precedent=$pageActuelle-1;
echo' <a id="pagprecedent" href="index_blog.php?page='.$precedent.'">precedent</a>';
}
for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
{
echo' <a id="pagination" href="index_blog.php?page='.$i.'">'.$i.'</a>';
}
if($pageActuelle<$nombreDePages)
{
$suivant= $pageActuelle+1;
echo' <a id="pagsuivant" href="index_blog.php?page='.$suivant.'">suivant</a>';
}
?>
j'ai un problème avec ma pagination,
je ne trouve aucun tuto sur le net qui explique de façon clair comment faire une vraie pagination.je veut dire une pagination qui fait 1 2 3....4 5 c'est à dire une pagination avec troncature et non une pagination du type 1 2 3 4 5 ...qui va jusqu'à 100 pages si on a 100 pages.
voici mon code actuel qui ne me satisfait pas.
aidez moi svp.
<?php
$v6 = $bdd->query('SELECT COUNT(*) as total FROM articles') or die(print_r($bdd->erroInfo()));
$nombre = $v6->fetch(PDO::FETCH_ASSOC);
$total = $nombre['total'];
$articleParPage = 3;
$nombreDePages = ceil($total/$articleParPage);
if(isset($_GET['page']) AND !empty($_GET['page']))
{
$pageActuelle = intval($_GET['page']);
if($pageActuelle>$nombreDePages)
{
$pageActuelle = $nombreDePages;
}
}
else
{
$pageActuelle = 1;
}
$premièreEntrée = ($pageActuelle-1)*$articleParPage;
if($pageActuelle!=1)
{
$precedent=$pageActuelle-1;
echo' <a id="pagprecedent" href="index_blog.php?page='.$precedent.'">precedent</a>';
}
for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
{
echo' <a id="pagination" href="index_blog.php?page='.$i.'">'.$i.'</a>';
}
if($pageActuelle<$nombreDePages)
{
$suivant= $pageActuelle+1;
echo' <a id="pagsuivant" href="index_blog.php?page='.$suivant.'">suivant</a>';
}
?>
A voir également:
- Creer un système de pagination en php
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Restauration systeme windows 10 - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
1 réponse
Regardes la clause LIMIT de MySql.
zakou3
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
merci pour la reponse mais le problème est que je veux faire une pagination avec troncature
NHenry
Messages postés
15219
Date d'inscription
Statut
Modérateur
Dernière intervention
365
LIMIT te permet de ne prendre les enregistrements que les X entrées de la Yième, ensuite la pagination c'est juste une multiplication du numéro de la page par le nombre d'entrée par page.