bon voilà, demandé par cercleaventure sur le forum, une fonction qui gère l'affichage des liens "page suivante", "précédente", ... pour couper l'affichage du résultat d'une grosse requete
voici un petit exemple pour montrer ma fonction dans ce contexte:
Source / Exemple :
function gestion_pages($d,$l,$lien,$nb_total){
//$d: premier enregistrement affiché
//$l: nombre d'enregistrements affichés par page
//$lien: lien utilisé pour la page actuelle (attention les parametes $d et $l ne doivent pas etre utilisés)
//$nb_total: nombre total d'enregistrements
echo '<table width="100%" cellspacing="0" cellpadding="2" border="0"><tr><td width="33%" nowrap align="left" valign
="bottom">';
$debut=$d-$l;
if(substr_count($lien,'?')==0)
$lien.='?';
else
$lien.='&';
if($debut<0) $debut=0;
if($d>0){
echo '<a href="'.$lien.'d=0&l='.$l.'">Première page</a>, ';
echo '<a href="'.$lien.'d='.$debut.'&l='.$l.'">Page précédente</a>';
}
echo '</td><td width="33%" nowrap align="center" valign="bottom">';
echo ceil($nb_total/$l)-ceil(($nb_total-$d)/$l)+1; //affiche le numéro de la page courante
echo '/';
echo ceil($nb_total/$l); //affiche le nb total de pages
echo '</td><td width="33%" nowrap align="right" valign="bottom">';
$suiv=$d+$l;
if($d+$l<$nb_total){
echo '<a href="'.$lien.'d='.$suiv.'&l='.$l.'">Page suivante</a>, ';
echo '<a href="'.$lien.'d='.($nb_total-$l).'&l='.$l.'">Dernière page</a>';
}
echo '</td></tr></table>';
}
if(!isset($_GET[l])) $_GET[l]=20; //pour avoir que 20 enregistrements par page par exemple
if(!isset($_GET[d])) $_GET[d]=0; //on affiche en premier l'enregistrement 0 (le premier) par défaut
$req=mysql_query("select * from messages limit $_GET[d], $_GET[l];"); //ça c'est la requete de base pour sélectionner ce
qu'on va afficher sur la page
$nb_total=mysql_num_rows(mysql_query("select * from messages;")); //cette requete sert à compter le nombre d'enregistrement
total (pour connaitre le nombre de pages au total)
//$req va contenir tous les enregistrement à afficher
//libre à vous d'en faire ce que vous voulez ici
//un for pour les afficher, ...
//c'est ici que vous gérez votre affichage des résultats
//et en bas, on appelle ma fonction pour afficher les liens suivant la page ou on se trouve
gestion_pages($_GET[d],$_GET[l],$_SERVER['REQUEST_URI'],$nb_total);
Conclusion :
voilà, n'hésitez pas à me poser des questions :p
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.