Bonjour,
dans cette page qui contient un systeme de pagination j'aimerais en plus donner la possibilitée a mes visiteurs de pouvoir choisir le nombre de resultats a afficher par page grace a un <select> qui contiendrai quatre choix 5,10,20,30 resultats par page j'ai commencer un bout de code mais pas possible de faire fonctionner le tout correctement j'inclus le code au cas où.
Merci d'avance pour votre aide.
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 <?php //Connexion à la base de données mysql_connect('***', '***', '***'); mysql_select_db('***'); echo '<form method="post" action="mapage.php"> <center>Nombre de résultats par page : <select name="rpp" id="rpp" onchange="submit();"> <option value="5" selected="selected">5</option> <option value="10">10</option> <option value="20">20</option> <option value="30">30</option> </select> <noscript><input type="submit" value="Changer" /></noscript> </form>'; //Nous allons afficher 10 messages par page. $messageParPage = 10; $retour_total = mysql_query('SELECT COUNT(*) AS total FROM gbsd_logs') or die(mysql_error()); //Nous récupérons le contenu de la requête dans $retour_total $donnees_total = mysql_fetch_assoc($retour_total); $total = $donnees_total['total']; //On récupère le total pour le placer dans la variable $total. //Nous allons maintenant compter le nombre de pages. $nombreDePages = ceil($total / $messageParPage); if(isset($_GET['pagevo'])) { $pageActuelle = intval($_GET['pagevo']); if($pageActuelle > $nombreDePages) { $pageActuelle = $nombreDePages; } } else { $pageActuelle = 1; // La page actuelle est la n°1 } $premiereEntree = ($pageActuelle - 1) * $messageParPage; $retour_messages = mysql_query('SELECT * FROM gbsd_logs ORDER BY id DESC LIMIT '.$premiereEntree.', '.$messageParPage.'')or die(mysql_error()); echo '<table width="70%" border="1" cellspacing="1" cellpadding="2"> <tr> <th>ID</th> <th>Login</th> <th>IP</th> <th>Hôte</th> <th>Site</th> <th>Action</th> <th>Date</th> </tr>'; while($donnees_messages=mysql_fetch_array($retour_messages)) { echo '<tr> <td>'.$donnees_messages['id'].'</td> <td>'.stripslashes($donnees_messages['membre_pseudo']).'</td> <td>'.$donnees_messages['adresse_ip'].'</td> <td>'.stripslashes($donnees_messages['host']).'</td> <td>'.stripslashes($donnees_messages['site']).'</td> <td>'.stripslashes($donnees_messages['action']).'</td> <td>'.utf8_encode(date('d/m/Y à H\hi', $donnees_messages['time'])).'</td> </tr>'; } echo '</table>'; echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle { if($i == $pageActuelle) { echo ' [ '.$i.' ] '; } else { echo ' <a style="text-decoration:none;" href="mapage.php?pagevo='.$i.'"> '.$i.' </a> '; } } echo '</p>'; mysql_close(); ?>
Partager