Pagination avec suivant ?

Eléphant du PHP | 216 Messages

23 mai 2006, 09:49

Bonjour,

j'ai le code suivant pour la pagination qui fonctionne parfaitement :

// Affichage par page :) 
                                        if (!empty($_GET['cat']) and empty($_GET['sous_cat']))
                                        {
                                            for($i = 1;$i <= $nbpages;$i ++)
                                            { 
                                                echo "<font size='1' face='verdana' color='#000000'><a href=\"?page=$i&fin=$fin&cat=$cat\">$i</a></font>"; 
                                                if($i < $nbpages) echo " - "; 
                                            } 
                                        }


Seulement, il m'arrive parfois d'avoir 32 pages, ce qui fait un peu beaucoup et ça rend la page inestétique.
J'aimerais au bout de 4 pages par exemple, mettre un onglet suivant qui permettrait d'aller à la page suivante.
Est-il possible d'introduire un acès direct à la derbière page avec cette fois_ci un onglet précédent.

Merci d'avance pour votre aide?

ViPHP
ViPHP | 649 Messages

25 mai 2006, 02:46

Tiens, voici comment je procède, à adapter :
<?php
$pages = '';
for ($i = 1; $i <= $nbre_pages; $i++)
{
	if ($page - $i <= 2 && $i <= $page + 2)
	{
		if ($i == $page)
		{
			$pages .= ' ' . $i . ' ';
		}
		else
		{
			$pages .= ' <a href="membres.php?page=' . $i . '&order=' . $order . '&sens=' . $sens . '" title="Aller à la page ' . $i . '">' . $i . '</a> ';
		}
	}
	else
	{
		if ($i == $nbre_pages)
		{
			$pages .= ' ...<a href="membres.php?page=' . $i . '&order=' . $order . '&sens=' . $sens . '" title="Aller à la page ' . $i . '">' . $i . '</a> ';
		}
		if ($i == 1)
		{
			$pages .= ' <a href="membres.php?page=' . $i . '&order=' . $order . '&sens=' . $sens . '" title="Aller à la page ' . $i . '">' . $i . '</a>... ';
		}
	}
}

echo $pages;
?>
Finalement tu te retrouves avec un lien vers la première page, vers la dernière, vers les deux pages suivantes et les deux pages précédentes. Pour un maximum de 6 liens.
Image