Problema con paginador

[email protected] (Alexis Saucedo) Wed, 11 Nov 2015 20:34:42 -0300
Newsgroups php.general.es
Message-ID <CAAu=vQeUB3k43-TdRvJbKJjrY=i_jGnHxvTQpKz=aOnEWxJ+DQ@mail.gmail.com>
Muy buenas noches, solicito su ayuda ya que no le encuentro la
solucion tengo un paginador el cual me muestra los numeros de paginas
segun la cantidad de registros, el problema es que no se como hacer
para que me muestra deqa tandaspor ejemplo,si tengo 20 paginasme
muestra las 20:

1-2-3-4-5-6-7-8-9-10-11-12,etc...

la idea es que no me muestra las 20 sino que valla de a 5

1-2-3-4-5, luego 2-3-4-5-6, etc...

=C2=BFpodria ayudarme?mi codigo es el siguiente:

$per_page=3D1;
if (isset($_GET["page"])) {
$page =3D $_GET["page"];
}
else {
$page=3D1;
}
$start_from =3D ($page-1) * $per_page;
$fil =3D null;
$stockId =3D $_SESSION['stockId'];
if($stockId!=3D'1'){
$fil =3D "AND (t2.stock_id =3D '$stockId')";
}
$query =3D "SELECT  * FROM articulos".$start_from, $per_page";
$result =3D mysqli_query ($mysqli, $query);
while ($r =3D mysqli_fetch_assoc($result)) {
if($r['estado']=3D=3D'1'){
$estado =3D 'Habilitado';
}else{
$estado =3D 'Deshabilitado';
}
$articulos[] =3D array('nombre'=3D>$r['nombre'],
'stock'=3D>$r['cantidad'],
'precio'=3D>$r['precio'],
'codigo'=3D>$r['codigo'],
'estado'=3D>$estado,
'id'=3D>$r['id']);
}
$query =3D "SELECT * FROM articulos";
$result =3D mysqli_query($mysqli, $query);
// Count the total record
$total_records =3D mysqli_num_rows($result);
//Using ceil function to divide the total records on per page
$total_pages =3D ceil($total_records / $per_page);

for ($i=3D1; $i<=3D$total_pages; $i++) {
if($i=3D=3D$_GET['page']){
$clase =3D 'active';
}else{
$clase =3D '';
}
//numeros de paginas
$paginas[$i] =3D array('numero'=3D>$i,'clase'=3D>$clase);
};
//array_push($articulos, 'clase', $clase);
if($total_pages=3D=3D$_GET['page']){
$siguiente =3D $total_pages;
}else{
$siguiente =3D $_GET['page']+1;
}
if($_GET['page']=3D=3D'1'){
$anterior =3D '1';
}else{
$anterior =3D $_GET['page']-1;
}

Muchisimas gracias de antemano.