Pagination

mit0910 Messages postés 29 Statut Membre -  
 mit0910 -
Bonjour,

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

  1. jean-charles.gibier Messages postés 34 Statut Membre 9
     
    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 :-)
    0
    1. mit0910
       
      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,...
      0
      1. jean-charles.gibier Messages postés 34 Statut Membre 9 > mit0910
         
        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)."'>&nbsp;<<&nbsp;</a>\n";
        	}
        
        for ($i = $offset_deb_page; $i < $offset_fin_page ; $i ++) {
        	$buf .= (($i == $cur_page) ? "&nbsp; ".$i  ." &nbsp;" : "<a href='?".$reqbody."&CUR_PAGE=".$i."'>&nbsp; $i &nbsp;</a>\n");
        	}	
        	
        if ($is_next_seg) {
        	$buf .= "<a href='?".$reqbody."&CUR_PAGE=".$offset_fin_page."'>&nbsp;>>&nbsp;</a>\n";
        	}
        	
        $buf .= "<br /></div>\n";
        
        return $buf;	
        }
        
        ?>
        
        0
      2. mit0910 > jean-charles.gibier Messages postés 34 Statut Membre
         
        merci bcp mon ami jean-charles.gibier
        0