Pagination
mit0910
Messages postés
29
Statut
Membre
-
mit0910 -
mit0910 -
Bonjour,
bonjour les amis ,
comment réaliser une pagination dans une page d'affichage,
le langage c'est php,
aidez moi svp
bonjour les amis ,
comment réaliser une pagination dans une page d'affichage,
le langage c'est php,
aidez moi svp
Configuration: Windows XP Firefox 3.5
1 réponse
-
Bonjour
Pouvez vous préciser les fonctions de votre "pagination" ?
Comme ce terme désigne notament une ancienne technique de gestion de la mémoire ça me rend un peu perplexe :-)-
non non rien avoir avec le OS ,
c'est quand vous avez bcp de donneés à affichier mais la page sur laquelle vous vaullez l'affiche ne supporter pas tous ca exemple:les livre d'or,...- Si c'est pour installer un livre d'or béton et sécure il vaut mieux rechercher des scripts sur
http://www.phpscripts-fr.net/
Sinon voici un morceau de code qui ressemble à ça mais sans garantie (ce n'est ni lisible, ni propre, ni bien commenté, de plus j'utilise les globales $_POST comme variables ce qui n'est pas indiqué
c'est donc juste pour étudier le principe, pour dépanner quoi :-)
Code à mettre dans la page de présentation de la pagination :
<?php include "list-struct.php"; // ------------------- pour info ---------------------- // Pagination par N de pages // $count -> nb de documents total // $nb_titles_par_page -> nb de de doc par pages // \$nb_pages_par_seg -> nombre de numéros de page à présenter // \$vars -> variables recuperees par $_POST / $_GET // Important: la variable \$vars['CUR_PAGE'] contiendra le numéro de la page courante. // ------------------- fin pour info ---------------------- print list_struct ( $count, $nb_titles_par_page, $nb_pages_par_seg, $vars)."\n" ; print "imprimer la ou les pages courante..."; ?>
Dans list-struct.php :
<?php function list_struct ( $nb_titles_total, $nb_titles_par_page, $nb_pages_par_seg, $vars) { $buf = ""; $reqbody = ""; if (!isset( $vars['CUR_PAGE'] )) { $cur_page = 0; } else { $cur_page = $vars['CUR_PAGE']; } foreach($vars as $key=>$val) { if ($key == "CUR_PAGE") continue; if ($reqbody !== "") $reqbody.= "&"; $reqbody.= $key."=".urlencode($val); } $nb_pages_total = ceil($nb_titles_total / $nb_titles_par_page); $nb_segs_total = ceil($nb_pages_total / $nb_pages_par_seg); $cur_seg = floor($cur_page / $nb_pages_par_seg ); $is_prev_seg = ($cur_seg > 0) ? 1 : 0; $is_next_seg = ($cur_seg + 1 < $nb_segs_total) ? 1 : 0; $offset_deb_page = $cur_seg * $nb_pages_par_seg; $offset_fin_page = min (($offset_deb_page + $nb_pages_par_seg), $nb_pages_total); if ($nb_segs_total < 1) { return ""; } $buf .= "<br /><div style='font-weight: lighter; text-align: center; width: 100%;'>\n"; if ($is_prev_seg) { $buf .= "<a href='?".$reqbody."&CUR_PAGE=".($cur_page-$nb_pages_par_seg)."'> << </a>\n"; } for ($i = $offset_deb_page; $i < $offset_fin_page ; $i ++) { $buf .= (($i == $cur_page) ? " ".$i ." " : "<a href='?".$reqbody."&CUR_PAGE=".$i."'> $i </a>\n"); } if ($is_next_seg) { $buf .= "<a href='?".$reqbody."&CUR_PAGE=".$offset_fin_page."'> >> </a>\n"; } $buf .= "<br /></div>\n"; return $buf; } ?>
-