Probelem pagination

hlimaiem Messages postés 106 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 17 janvier 2007 - 6 juin 2006 à 05:28
pastis51forever Messages postés 172 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 8 septembre 2006 - 6 juin 2006 à 10:13
Limaiem heykel,
Bonjour, ma page web contient beaucoup d'enregistrement donc j'ai du les couper sur plusieurs page mais bon la pagination que j'ai fait s'affiche comme ce ci <<1 2 3 4 5 6>>. Lorsque j'ai 50 pages ils s'affichent toute sur la meme ligne et meme il y retour a la ligne .
Comment faire pour fiare le trucs <<1 2 3... Ma_derniere_page>> et quand je me trouve sur la 3 page j'aurait comme affichage <<..3 4 5 ..>> pour diminuer l'encombrement de ma page.
Voici mon code actuelle de apgination comment le modifier pour avoir le truc <<1 2 3 ... 50>> sans afficher le numero de toutes les pages.
<?
   $nbParPage = 50;
//$req1=mysql_query($heykel);
$nbNews= $nbannonce;  //mysql_num_rows($req1);

$moy= ceil($nbNews/$nbParPage);

if ($moy>=1)
{
  if (isset($_GET['page']))
  {
      if ($_GET['page']==1){echo "<< ";}
else
{
echo "<< ";
}
}
else{echo "Back ";}
}
for ($i=0;$i<$moy;$i++)
{
  // $xrt = $i ;
   //if ($xrt==$veraff){
   //echo "Page ".($i+1)." ";
   //else {
  
   echo "  ".($i+1)." ";
   //}
}
if ($moy>=2)
{
  if (isset($_GET['page']))
  {
      if ($_GET['page']==$moy){echo " >>";}
      else
      {
          echo " >>";
      }
     
  }
  else{echo "Next";}
}
  ?>
Merci enormement de votre aide

1 réponse

pastis51forever Messages postés 172 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 8 septembre 2006 1
6 juin 2006 à 10:13
Bonjour!
Moi j'aurais d'abord créé une fonction pour créer les liens

function creerlien($num,$afficher)
{
return '[start.php?page='.$num.' '.$afficher.']';
}

//ex $nbannonces=600;
// $nbparpage=20;
// $pageaffichee=13;
$nbpages=ceil($nbnews/$nbparpage);//devrait donner 30...
echo creerlien(1,'<<1');//1er lien, toujours affiché
if ($pageaffichee<3)
{//Cas <<1-2-3-30>>
echo creerlien(2,'-2');
echo creerlien(3,'-3');
}
elseif ($pageaffichee<$nbpages-2)
{//cas <<1-12-13-14-30>>
echo creerlien($pageaffichee-1,'-'.$pageaffichee-1);
echo creerlien($pageaffichee,'-'.$pageaffichee);
echo creerlien($pageaffichee+1,'-'.$pageaffichee+1);
}
else
{//cas <<1-28-29-30>>
echo creerlien($nbpages-2,'-'.$nbpages-2);
echo creerlien($nbpages-1,'-'.$nbpages-1);
}
echo creerlien($nbpages,'-'.$nbpages.'>>');

Je pense qu'un truc comme ca devrait marcher... (bien que pas testé) Il y a surement des petits bugs, mais tu devrais pouvoir corriger (et me le signaler, c'est quelque chose qui devrait pouvoir me servir dans le futur...
Manquent quand meme les ..., mais apres a toi de modifier et de finaliser tout ca
Si ca marche pas du tout, dis le moi quand meme

Brice
0
Rejoignez-nous