Weno yo te dejo aki un sistema de paginacion que uso yo 

 por si te kieres basar en ello:  
 Código PHP:
    <?PHP
include("configuracion.php");
$connection = mysql_connect($host, $usuario, $password) or die ("No se puede conectar con la base de datos"); 
 
$db = mysql_select_db($base_de_datos, $connection) or die ("No se puede seleccionar la base de datos"); 
$limit = 25;  //aki el limite que tu kieres
 
$sqlcount= "Select * From noticias ORDER BY date DESC";  //la consult apon la que tu kieras 
 
$sql_countresult = mysql_query($sqlcount, $connection) or die ("No se puede ejecutar la consulta"); 
$totalrows = mysql_num_rows($sql_countresult); 
 
if(empty($page))
{ 
    $page = 1; 
} 
 
$limitvalue1 = $page*$limit-($limit); 
$sql         = "Select * From noticias ORDER BY date DESC LIMIT $limitvalue1, $limit"; 
$sql_result  = mysql_query($sql, $connection) or die ("No se puede ejecutar la consulta"); 
 
while ($row = mysql_fetch_array($sql_result))
{ 
 
}
 
if($page != 1)
{ 
    $pageprev= $page - 1; 
} 
else
{ 
} 
echo "<hr size=1 color=09215F width=95%>";
echo "<table border=0 cellpadding=0 cellspacing=0 width=99%><tr><td>";
echo "<font size=1 face=verdana color=FF9D02><b>Página :</b></font>";
$numofpages = $totalrows/$limit; 
 
for($i= 1; $i <= $numofpages; $i++)
{ 
    echo "<font size=1 face=verdana><A HREF=\"noticias.php?page=$i\" class=NOTICIAS> $i </font></A>";  
} 
 
if($totalrows%$limit != 0)
{ 
    echo "<font size=1 face=verdana><A HREF=\"noticias.php?page=$i\"> $i </font></A>"; 
} 
echo "</td></tr></table>";
 
if(($totalrows-($limit*$page)) > 0)
{ 
    $pagenext = $page + 1; 
} 
 
mysql_free_result($sql_result); 
mysql_close($connection); 
?>    
  Ya ves que es muy sencillo 

 espero que te sirva de ayuda.