Bonjour je voudrais créer une pagination car j'ai trop d'affichage dans la même page. J'utilise ce bout de code là :
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
include ("../pagination_fonctions.php");
 
$parpage = 10;	 // Nombre d'enregistrements par page à afficher
 
$url = $_SERVER['PHP_SELF']."?limit=";
 
$total = mysql_query($query); // Résultat total de la requête $query
$nblignes = mysql_num_rows($total); // Nbre total d'enregistrements
 
$nbpages = ceil($nblignes/$parpage);
 
$result = validlimit($nblignes,$parpage,$query);
 
include("affiche.php");
 
// Menu de pagination que l'on place après la requête
echo "<div align='center' class='pagination'>";
echo pagination($url,$parpage,$nblignes,$nbpages);
echo "</div>";
 
mysql_free_result($result); // Libère le résultat de la mémoire
Cela m'écrit bien les pages en bas mais le lien n'est pas bon ; Voici le lien à la base : http://www.monsite.fr/test/agenda/in...th=6&year=2009 et je voudrais après qu'il y a le lien vers les autres pages !

Voici les fonctions de paginations
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<?php
function pagination($url,$parpage,$nblignes,$nbpages)
{
  // On crée le code html pour la pagination
  $html = precedent($url,$parpage,$nblignes); // On crée le lien precedent
  // On vérifie que l'on a plus d'une page à afficher
  if ($nbpages > 1) {
    // On boucle sur les numéros de pages à afficher
    for ($i = 0 ; $i < $nbpages ; ++$i) {
      $limit = $i * $parpage; // On calcule le début de la valeur 'limit'
      $limit = $limit.",".$parpage; // On fait une concaténation avec $parpage
      // On affiche les liens des numéros de pages
      $html .= "<a href=".$url.$limit.">".($i + 1)."</a> | " ;
    }
  }
  // Si l'on a qu'une page on affiche rien
  else {
    $html .= "";
  }
  $html .= suivant($url,$parpage,$nblignes); // On crée le lien suivant
  // On retourne le code html
  return $html;
}
function validlimit($nblignes,$parpage,$sql)
{
  // On vérifie l'existence de la variable $_GET['limit']
  // $limit correspond à la clause LIMIT que l'on ajoute à la requête $sql
  if (isset($_GET['limit'])) { 
    $pointer = split('[,]', $_GET['limit']); // On scinde $_GET['limit'] en 2
    $debut = $pointer[0];
    $fin = $pointer[1];
    // On vérifie la conformité de la variable $_GET['limit']
    if (($debut >= 0) && ($debut < $nblignes) && ($fin == $parpage)) {
      // Si $_GET['limit'] est valide on lance la requête pour afficher la page
      $limit = $_GET['limit']; // On récupère la valeur 'limit' passée par url
      $sql .= " LIMIT ".$limit.";"; // On ajoute $limit à la requête $sql
      $result = mysql_query($sql); // Nouveau résultat de la requête
    }
    // Sinon on affiche la première page
    else {
      $sql .= " LIMIT 0,".$parpage.";"; // On ajoute la valeur LIMIT à la requête
      $result = mysql_query($sql); // Nouveau résultat de la requête
    }
  }
  // Si la valeur 'limit' n'est pas connue, on affiche la première page
  else {
    $sql .= " LIMIT 0,".$parpage.";"; // On ajoute la valeur LIMIT à la requête
    $result = mysql_query($sql); // Nouveau résultat de la requête
  }
  // On retourne le résultat de la requête
  return $result;
}
function precedent($url,$parpage,$nblignes)
{
  // On vérifie qu'il y a au moins 2 pages à afficher
  if ($nblignes > $parpage) {
    // On vérifie l'existence de la variable $_GET['limit']
    if (isset($_GET['limit'])) {
      // On scinde la variable 'limit' en utilisant la virgule comme séparateur
      $pointer = split('[,]', $_GET['limit']);
      // On récupère le nombre avant la virgule et on soustrait la valeur $parpage
      $pointer = $pointer[0]-$parpage;
      // Si on atteint la première page, pas besoin de lien 'Précédent'
      if ($pointer < 0) {
        $precedent = "";
      }
      // Sinon on affiche le lien avec l'url de la page précédente
      else {
        $limit = "$pointer,$parpage";
        $precedent = "<a href=".$url.$limit."><</a> | ";
      }
    }
    else {
      $precedent = ""; // On est à la première page, pas besoin de lien 'Précédent'
    }
  }
  else {
  $precedent = ""; // On a qu'une page, pas besoin de lien 'Précédent'
  }
  return $precedent;
}
function suivant($url,$parpage,$nblignes)
{
  // On vérifie qu'il y a au moins 2 pages à afficher
  if ($nblignes > $parpage) {
    // On vérifie l'existence de la variable $_GET['limit']
    if (isset($_GET['limit'])) {
      // On scinde la variable 'limit' en utilisant la virgule comme séparateur
      $pointer = split('[,]', $_GET['limit']);
      // On récupère le nombre avant la virgule auquel on ajoute la valeur $parpage
      $pointer = $pointer[0] + $parpage;
      // Si on atteint la dernière page, pas besoin de lien 'Suivant'
      if ($pointer >= $nblignes) {
        $suivant = "";
      }
      // Sinon on affiche le lien avec l'url de la page suivante
      else {
        $limit = "$pointer,$parpage";
        $suivant = "<a class='pagination' href=".$url.$limit.">></a>";
      }
    }
    // Si pas de valeur 'limit' on affiche le lien de la deuxième page
    if (@$_GET['limit']== false) {
      $suivant = "<a href=".$url.$parpage.",".$parpage.">></a>";
    }
  }
  else {
  $suivant = ""; // On a qu'une page, pas besoin de lien 'Suivant'
  }
  return $suivant;
}
?>