< 1 2 3 4 5 > Nombre de liens à montrer sur une page

Nouveau WRInaute
Salut,
je voudrais pouvoir reproduire le systeme de Google: < 1 2 3 4 5 >, 5 etant le nombre maximun de links a afficher sur une page par exemple en ayant lance une recherche, en cliquant sur 5 les 4 pages avant 5 et les 4 pages apres 5 sont egalement proposees a l'utilisateur. Ce qui donne ceci a peu pres: < 1 2 3 4 5 6 7 8 9 >; en cliquant sur 6 j'obtiens tous les links comme precedement, en cliquant sur 7 ca change < 2 3 4 5 6 7 8 9 10>.

Pour l'instant j'ai pu afficher < 1 2 3 4 5 > et je voudrais utiliser le meme systeme comme je l'ai eclaire precedemment.

J'espere que mon mail est comprehensible et merci pour toutes les reponses....
 
WRInaute occasionnel
Code:
<?php
// A passer en param ou a récupérer en Get ou Post
$nblinks = 10;
$nbvispages = 5;
$curpage = 3;
$lastpage = 24;

$from = max(1, $curpage - floor($nbvispages/2));
$to = min($lastpage, $from + $nbvispages);
$arr = arry();
while ($from <= $to)
  $arr[] = '<a href="page'.$from.'.html">'.$from.'</a>';
print(implode(' ', $arr);
?>

Aux erreurs de frappes et de syntaxe près :)

[edit] pour java, tu adaptes... reste à faire: lien sur "<" et ">", et pas de lien sur page courante...
 
WRInaute occasionnel
bon y'a des erreurs de frappe, mais la grosse omission, c'est qu'il faut quand même incrémenter $from dans le "while" ... :roll:
 
Nouveau WRInaute
@Blini,
est ce exact?
nblinks = 10 = nombre de Links a afficher sur une page
nbvispages = 5 = nombre de pages totales a 10 links par page par exemple
curpage = 3 = page actuelle
lastpage = 24 = la derniere page

from = max(1, curpage - floor(nbvispages/2)) = from contient la page correspondant a la plus grande valeur depuis la 1ere page(1) jusqu'au nombre entier de (nbvispages/2)

to = min(derniere page, from+nbvispages) = page correspondant a la plus petite valeur depuis la derniere page remontant a nbvispages

ai je l'a bien interprete le code php(m'y connais pas trop en php)(?
 
WRInaute occasionnel
nblinks = nombre de Links a afficher sur une page
Oui, mais d'ailleurs, on s'en fiche.
nbvispages = nombre de pages totales a 10 links par page par exemple
Non: nombre de pages à afficher dans le <1 2 3 4 5 >
curpage = page actuelle
Oui
lastpage = la derniere page
Oui
from contient la page correspondant a la plus grande valeur depuis la 1ere page(1) jusqu'au nombre entier de (nbvispages/2)
Non, c'est le numéro de la première page du <1 2 3 4 5>
to = page correspondant a la plus petite valeur depuis la derniere page remontant a nbvispages
Non, c'est le numéro de la dernière page du <1 2 3 4 5>

ai je l'a bien interprete le code php(m'y connais pas trop en php)(?
En même temps, java, c++, php... hein, ça se ressemble pas mal.
 
Discussions similaires
Haut