Yo lo hago más fácil aún... el problema es que si tengo 100 resultados, los divido de a 10 y obtendré 10 paginas, por ende tendría 10 botones, que sin problemas se puede mostrar ¿Cierto? ok.. y si tengo 15.000 resultados? y los divido de a 20.. tendría 750 páginas... no puedo mostrar 750 botones... por eso puse el ejemplo.. necesito mostrar los botones de a 10 por lo menos.. fijense en el paginador del foro como es... un paginador para mi es mas sencillo
Código PHP:
<?php
if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * 50;
$sql="SELECT * FROM empresas_registradas ORDER BY id_empresa ASC LIMIT $start_from, 35";
?>
<div id="pagination">
<ul class="pagination pagination-sm">
<?php
if(isset($_GET["emp"])){
?>
<li><a href="#"><?php echo $num_emp ?> Resultados</a></li>
<?php
}else{
$sql_result = "SELECT COUNT(id_empresa) FROM empresas_registradas";
$result=mysql_query($sql_result,$conn);
$row = mysql_fetch_array($result);
$total_records = $row[0];
$total_pages = ceil($total_records / 35);
for ($i=1; $i<=$total_pages; $i++) {
echo "<li><a href='?page=".$i."'";
if($page==$i)
{
echo "id=active";
}
echo ">";
echo "".$i."</a></li> ";
};
}
?>
</ul>
</div>
pero lo que quiero es mostrar como ya expliqué, solo que no encuentro con qué hacerlo o como hacerlo...
Inicial
<< < | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 ... > >>
cuando presione en la pagina 10 que me muestre mas botones si hay
<< <... | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 ... > >>
si presione en el 45, que me muestre solo los 10 siguientes
<< <... | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 ... > >>
espero se entienda.. mi código pagina perfecto, pero no se como hacer esto que necesito.. tengo cerca de 20mil registros y necesito paginarlo ahorrando espacio. No quiero llenar mi pagina con 2mil botones todos amontonados. No incito a que lo hagan, pero esas páginas tipo XXX redtube y demas paginan 500 paginas y abrevian y van mostrando botones de a 10, por ejemplo.. el del FOROS del Web tambien lo hace.