<?php

// ------------------------------------------------------------------------- //
// Affichage des numéros de pages universel                                  //
// ------------------------------------------------------------------------- //
// Auteur: Fred <webmaster@t4c-fr.net>                                       //
// Web:    http://www.t4c-fr.net                                             //
// ------------------------------------------------------------------------- //

function aff_num_pages($cur_page,$nbelemparpage,$nbelemtotal,$nbnumpage=10)
{
    global
$HTTP_HOST,$REQUEST_URI;
    
    
$nbpages=floor($nbelemtotal/$nbelemparpage);
    
$reste=$nbelemtotal%$nbelemparpage;
    
    if (
$reste>0) $nbpages++;

    if (
$nbpages>1)
    {
        
$param=ereg_replace("pg=[0-9]+[&]?",'',$REQUEST_URI);
        
        
// s'il y a des parametres
        
if (ereg("\\?",$param))
        {
            
// si le dernier char est un ? ou un & on ne met rien sinon on met
            // un & (séparateur de parametres)
            
if (ereg("\\?$",$param) || ereg("&$",$param))
                
$prefix='';
            else
                
$prefix='&';
        }
        
// si il n'y a rien (premier parametre) on met un ?
        
else
            
$prefix='?';

        
// indice de départ pour l'affichage des n° de pages
        
$i_start=(floor(($cur_page-1)/$nbnumpage)*$nbnumpage)+1;
        
// indice de fin d'affichage des n° de pages
        
$i_stop=$i_start+$nbnumpage-1;

        
// si l'indice de fin est supérieur aux nombre de pages on remplace
        // celui-ci
        
if ($i_stop>$nbpages)
            
$i_stop=$nbpages;
        else
            
$sup_flag=1;

        
// si l'indice de départ est supérieur à 1 on affiche un <
        
$inf_val=$i_start-1;
        if (
$i_start>1)
            echo
"<a href='http://".$HTTP_HOST.$param.$prefix."pg=$inf_val'>&lt;</a> ";
        for (
$j=$i_start;$j<=$i_stop;$j++)
        {
            if (
$j==$cur_page)
                echo
"$j ";
            else
                echo
"<a href='http://".$HTTP_HOST.$param.$prefix."pg=$j'>$j</a>";
        }

        
// si il y a d'autres pages après
        
if ($sup_flag)
            echo
"<a href='http://".$HTTP_HOST.$param.$prefix."pg=$j'>&gt;</a><br>";
        else
            echo
"<br>";
    }
    
// pour finir on retourne l'indice de départ pour la requete MySQL
    
$ind_start=($cur_page-1)*$nbelemparpage;
    
    return
$ind_start;
}

?>