Bonjour à tous !

Je suis entrain d'essayer de mettre en place une naviguation page par page...j'utilise le code suivant mais ...il ne me parait pas génial car il ne fonctionne pas correctement
n'y a t'il pas moyen de faire plus simple et plus efficace ?
auriez vous un lien à me soumettre exposant un exemple de code ?

Merci a tous pour vos suggestions et explications

Jean Marc




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
 
 
<?
include("connexion.php");
//nombre d'enregistrements par page
$nombre=20;
//si limite=0
if(!isset($limite))$limite=0;
$path_parts=pathinfo($_SERVER['PHP_SELF']);
$page=$path_parts ["basename"];
//compter le nombre d'enregistrements
$select='select count(id) from agents';
//effectuer la requete
$result=mysql_query($select,$connexion) or die('Erreur:'.mysql_error());
$row=mysql_fetch_row($result);
// le total est placé dans un tableau row en première position
$total=$row[0];
// requete en fonction du nombre d'enregistrements
$select='select * from agents order by nom asc limit'.$limite.','.$nombre;
//$result=mysql_query($select,$connexion) or die('Erreur:'.mysql_error());
//limite suivante
$limitesuivante=$limite+$nombre;
//limite precedente
$limiteprecedente=$limite-$nombre;
//si limite different de 0
if($limite !=0){
//affiche page précédente
echo '<a href="'.$page.'?limite='.$limiteprecedente.'">Page précédente</a>';
}
//si limite suivante inférieure à totale
if($limitesuivante<$total){
echo '<a href="'.$page.'?limite='.$limitesuivante.'">Page suivante</a>';
}
//récupération de $limite
if(isset($_GET['limite']))
$limite=$_GET['limite'];
else $limite=0;
function verifLimite($limite,$total,$nombre){
if(is_numeric($limite)){
if($limite>=0)&&($limite<=$total)&&(($limite%$nombre)==0)){
$valide=1;
}
else
{
$valide=0;
}
}
else
{
$valide=0;
}
return $valide;
}
function displayNextPreviousButtons($limite,$total,$nb,$page){
$limiteSuivante=$limite+$nb;
$limitePrecedente=$limite-$nb;
echo'<table><tr>'."\n";
if limite(!=0){
echo'<td valign="top>'."\n";
echo '<form action="'.$page.'"method="post">'."\n";
echo '<input type="submit" value="précédents">'."\n";
echo '<input type="hidden" value="'.$limitePrecedente.'"name="limite">'."\n";
echo '</form>'."\n";
echo '</td>'."\n";
}
echo '</tr></table>'."\n";
}
}
if limite($limiteSuivante<$total){
}
}
echo '</tr></table>'."\n";
}
function(affichePages($nb,$page,$total){
$nbpages=ceil($total/$nb);
$numeroPages=1;
$compteurPages=1;
$limite=0;
echo'<table border="0"><tr>'."\n";
echo'<td><a href="'.$page.'?limite='.$limite.'">'.$numeroPages.'</a></td>'."\n";
$limite=$limite+$nb;
$numeroPages=$numeropages +1;
$compteurPages=$compteurPages+1;
if($compteurPages==10);{
$compteurPages=1;
echo'<br>'."\n";
}
}
?>