Salut !!
Voisi une fonction que j'ai développé il y a 3 ans et sui permet de naviguer de répondre à ta question 3 :
Ce code peut facilement etre amélioré!!
Pour ta requete :
if(isset($_GET['pa'])){ $lim=(($_GET['pa']-1)*30); $pa=$_GET['pa']; }else { $pa=1; }
$req1 = mysql_query("SELECT * FROM ??? limit ".$lim.",30");
Pour afficher tes pages :
$nb = ceil(mysql_num_rows(mysql_query("SELECT * FROM ???"))/30);
echo basdepage($nb,$pa,'/tapage.php');
function basdepage($nb,$page,$link)
{
if($nb>1)
{
$bdp='';
if($nb<6)//cas ou on a moins de 5 pages
{
for($i=1;$i<=$nb;$i++)
{
if($page!=$i)
{$bdp.=" - <a href='".$link."&pa=".$i."'>".$i."</a>";}else{$bdp.=' - '.$i;}
}
}else//+ de 5 pages
{
if($page<4)//pour les 5 premieres pages
{
for($i=1;$i<=5;$i++)
{
if($page==$i)
{$bdp.=" - ".$i;}else{$bdp.=" - <a href='".$link."&pa=".$i."'>".$i."</a>";}
}
$bdp.=' ...';
}elseif($page>($nb-3))//pour les 5 dernieres pages
{
for($i=($nb-4);$i<=$nb;$i++)
{
if($page==$i)//si la page testée est la page voulue, on ne met pas de lien, sinon on met un lien vers la page correspondante
{$bdp.=" - ".$i;}else{$bdp.=" - <a href='".$link."&pa=".$i."'>".$i."</a>";}
}
$bdp='... '.ltrim($bdp,' - ');
}else//pour 5 pages en milieu de liste
{
for($i=($page-2);$i<=($page+2);$i++)
{
if($page==$i)//si la page testée est la page voulue, on ne met pas de lien, sinon on met un lien vers la page correspondante
{$bdp.=" - ".$i;}else{$bdp.=" - <a href='".$link."&pa=".$i."'>".$i."</a>";}
}
$bdp=$bdp."... ".ltrim($bdp," - ")." ...";
}
}
$bdp=ltrim($bdp,' - ');
if ($page==1)
{//$bdp="<< < ".$bdp;
}
else{$p=$page-1;
$bdp="<a href='".$link."&pa=".$p."'>Précedent</a> ".$bdp;}
if ($page==$nb)
{//$bdp.=" > >>";
}
else{$p=$page+1;
$bdp.=" <a href='".$link."&pa=".$p."'>Suivant</a>";}
return $bdp;}
}
l
ow
ke
y