Bonjour, je sollicite votre aide car je souhaite organiser mes pages afin d'éviter d'avoir tous les nombres des pages qui s'affichent.
Les problèmes:
1-Plus on va sur la page sivante et plus ne nombre de pages augmente.
2-Le numéro de page sur laquelle on se trouve ne s'affiche pas dans la pagination. Exemple on est sur la page 3, dans la pagination c'est: 1 2 4 5 6

Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//On récupère le nombre d'enregistrements
$count= "SELECT COUNT(id) AS cpt FROM annonces where validation=1";
$stmt= $bdd->prepare($count);
$stmt->execute();
$tstmt=$stmt->fetchAll();
 
 
//Pagination
$page = (!empty($_GET["page"]) )? intval($_GET["page"]) : 1;
$nbr_elements_par_page=1;
$nbre_de_pages=ceil($tstmt[0]["cpt"]/$nbr_elements_par_page);
$debut=($page-1)*$nbr_elements_par_page;
//suite...
 
//..suite
echo"<div class='pagination'>";
$pagination='';
$nbre_articles_max_avant_et_apres=2;
 
 
 
if($page>1){
$previous=$page-1;
$pagination= "<a class='paginationlien' href='?page=$previous'>Précèdent</a> &nbsp; &nbsp;" ;
echo $pagination;
 
 
for($i=$page-$nbre_de_pages;$i<$page;$i++){
 
 
if($i>0){
 
$pagination= "<a class='paginationlien' href='?page=$i'>$i</a> &nbsp;" ;
echo $pagination;
 
}
}
}
 
 
 
$pagination= "<span class='active'>$page</span> &nbsp;" ;
 
for($i=$page+1;$i<=$nbre_de_pages;$i++){
 
$pagination= "<a class='paginationlien' href='?page=$i'>$i</a>" ;
echo $pagination;
 
if($i>=$page+$nbre_articles_max_avant_et_apres){
break;
}
}
if($page!=$nbre_de_pages){
$next=$page+1;
$pagination= "<a class='paginationlien' href='?page=$next'>Suivant</a>" ;
echo $pagination;
 
}
 
echo"</div>"; //fin div pagination
Auriez-vous une solution?