problème avec la barre de navigation en PHP
Salut à tous,
J'ai le code suivant qui me permet d'afficher une barre de navigation contenant le suivant, précedent, etc.....
Code:
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
|
function naviguer()
{
// on fixe la limite
// $limite = 3;
// on recupere le numéro du premier client à afficher
if (isset($_GET['page']))
$page = intval($_GET['page']);
else
{
$page = 0;
}
// on essaye d'acceder à la base de données
if
(!$res = mysql_query('SELECT COUNT(*) FROM espace_client'))die(mysql_error());
// on recupere le nombre total de client
$total = mysql_result($res, 0);
// on genere les liens precedent et suivant
$url = '<a href="'.$_SERVER['PHP_SELF'].'?page=%d">%s</a>';
if ((($page ==0) or ($page <1))) $begin = 'Debut';
else $begin = sprintf($url,0,'Debut');
if (($page <1)) $previous = 'Precedent';
else $previous = sprintf($url,$this->page-1, 'Precedent');
if ((($page+1) > ($total /$this->limite)) or ($page+1==($total /$this->limite))) $next = 'Suivant';
else $next = sprintf($url, $this->page+1, 'Suivant');
if ((($page+1) > ($total /$this->limite)) or ($page+1==($total /$this->limite))) $end = 'Dernier';
else
if(($total % $this->limite)!=0) $end = sprintf($url,($total /$this->limite), 'Dernier');
else
$end = sprintf($url,($total /$this->limite)-1, 'Dernier');
$liens = "<table border='1' cellpadding='2' cellspacing='2'>"
."\n <tr align='center'>"
."\n <td width='90' class='naviguer'><< $begin</td>"
."\n <td width='90' class='naviguer'>< $previous</td>"
."\n <td width='90' class='naviguer'>$next ></td>"
."\n <td width='90' class='naviguer'>$end >></td>"
."\n </tr>"
."\n </table>"
."\n ";
echo $liens; |
J'ai voulu l'appliquer dans une autre page sous la forme de :
avec $esp bien sûr n'est qu'une instanciation de la classe dont la fonction naviger() appartient....
J'exécute, tout est bon, mais le problème içi, c'est que quand je clique sur suivant dans la barre de navigation pour passer à la page suivante du tableau-résulat(même chose pour dernier), la page d'acceuil, c'est elle , qui s'affiche.... donc j'ai pensé que l'erreur provient du ligne :
Code:
$url = '<a href="'.$_SERVER['PHP_SELF'].'?page=%d">%s</a>';
Qu'en pensez-vous? Avez-vous une solution? :?