Bonjour,
je saisi pas bien le problème :s
tu sais a l'avance combien y a de page ou pas ?
parce que sinon il suffis juste d'une petite boucle avec une variable que tu te fais passé de page en page ..
donc bon .. je suppose comme si c'était un forum , que tu es sur un sujet X du forum , et que se sujet a 10 pages .
<?php
$nb_pages=10; // on suppose que tu as 10 pages .
if(isset($_GET['page'])) // on regarde si on a reçu page ou pas en get
{
$num_page=intval($_GET['page']); // on stock le numéro de la page
if($num_page>$nb_pages) // si on a un numéro de la page plus grand que le maximum ( c'est louche .. mais bon , y a toujours des gens qui touche aux variables passés par get .. )
{
$num_page=1; // quelqu'un a du touché donc on remet a 1 .
}
}
else
{
$num_page=1; // on a pas eu page donc on est sur la 1ere page
}
include("./page".$num_page.".html"); // on charge la page qu'on a passé en get ( celle qu'on a en principe cliqué donc )
?>
<p> voir la page :
<?php
for($i=1; $i<=$nb_pages; $i++)
{
echo '<a href="sujetXduforum?page='.$i.'">'.$i.'</a>';
}
?>
</p>
Voila
ensuite pour l'affichage qui change en fonction de la page où tu es , je te refais un code pour la boucle pour simplifier la lecture des 2 :
Edit : il faut verifier si ca marche comme ca , peut etre que il faudrait complexifié les tests ( la je suis parti sur un total de 10 pages , mais si t'en a moins ou plus peut etre que ca pourrai buggé ( plutôt moins que plus ( moins que 3 pour la boucle par exemple .. ) )
// on va geré plusieurs cas : un cas ou on sera trop proche des bornes du début et de fin , et un autre ou on sera vers le milieu
if(num_page<4) // on est trop prêt du début on fais l'affichage depuis 1
{
for($i=1; $i<=3; $i++)
{
// on rajoute un test pour pouvoir faire le bold
if($i==$num_page)
{
echo '<a class="bold" href="sujetXduforum?page='.$i.'">'.$i.'</a>';
}
else
{
echo '<a href="sujetXduforum?page='.$i.'">'.$i.'</a>';
}
}
echo '...';
echo '<a href="sujetXduforum?page='.$nb_pages.'">'.$nb_pages.'</a>'; // dernière page
}
else
{
if(num_page>nb_pages-3) // 10 9 8
{
echo '<a href="sujetXduforum?page=1">1</a>'; // première page
echo '...';
for($i=num_pages; $i<=nb_pages; $i++)
{
// on rajoute un test pour pouvoir faire le bold
if($i==$num_page)
{
echo '<a class="bold" href="sujetXduforum?page='.$i.'">'.$i.'</a>';
}
else
{
echo '<a href="sujetXduforum?page='.$i.'">'.$i.'</a>';
}
}
}
else
{
echo '<a href="sujetXduforum?page=1">1</a>'; // première page
echo '...';
for($i=num_pages-2; $i<=nb_pages+2; $i++)
{
// on rajoute un test pour pouvoir faire le bold
if($i==$num_page)
{
echo '<a class="bold" href="sujetXduforum?page='.$i.'">'.$i.'</a>';
}
else
{
echo '<a href="sujetXduforum?page='.$i.'">'.$i.'</a>';
}
}
echo '...';
echo '<a href="sujetXduforum?page='.$nb_pages.'">'.$nb_pages.'</a>'; // dernière page
}
}
?>
Modifié par mathieu1004 (19 Jul 2010 - 14:33)