Cómo agregar separadores en la paginación PHP MySQL

quimbox Seguir

1
Iota
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Suscripción a IA
Desde
22 Mar 2012
Mensajes
2.346
Hola forobetas, necesito una pequeña ayuda por acá estuve modificando el codigo de busqueda de mi sitio para poder hacerlo un poco mas agradable a la vista. Logre hacerlo, pero hay veces que al hacer una búsqueda este me pagina todo lo que hay en la busqueda-

Aqui una captura

61366753350381eb02ff862a0693c0eb.png


Y lo que quiero es añadirle entre esos números, como un delimitador que sea mas o menos asi 1 2 3 4 ... 7 8 9 10 11 12 ...16 17 etc...

Y pues he estado buscando y tratando de hacer el codigo pero no hayo como! :/

El codigo que uso es el siguiente:

PHP:
$limite = 4;
 
$pag = (int) $_GET["pag"];
 
if ($pag < 1)
 
{
 
$pag = 1;
 
}
 
$offset = ($pag-1) * $limite;
 
$sql = "SELECT SQL_CALC_FOUND_ROWS *  FROM  paginacion LIMIT $offset, $limite";
 
$sqlTotal = "SELECT FOUND_ROWS() as total";
 
$rs = mysql_query($sql);

echo "<table'><tr><td>";
 
$totalPag = ceil($total/$limite);
 
if(($pag - 1) > 0) {
 
echo "<a href='index.php?pag=".($pag-1)."'>Anterior</a> ";
 
}
 
for ($i=1; $i<=$totalPag; $i++){
 
if ($pag == $i) {
 
echo $pag;
 
} else {
 
echo "<a href=index.php?pag=$i'>$i</a> ";
 
} }
 
if(($pag + 1)<=$totalPag) {
 
echo " <a href='index.php?pag=".($pag+1)."'>Siguiente </a>";
 
}
 
echo "</td></tr></table>";

Gracias :encouragement:
 

96levels

Beta
Programador
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
4 Nov 2013
Mensajes
65
Algo así podria valeR?

Insertar CODE, HTML o PHP:
$paginas_por_delante = $paginas_por_detras = 3;

for ($i=1; $i<=$totalPag; $i++){ 
if ($paginas_por_delante > $i or $i > ($totalPag - $paginas_por_detras )){ 
if ($pag == $i) { 
  
echo $pag; 
  
} else { 
  
echo "<a href=index.php?pag=$i'>$i</a> "; 
  
} 
} else{
echo ".";
}

}

Si $i está dentro de los primeros links a paginas que queremos mostrar o entre los últimos, entonces procedemos, en caso contrario imprimimos punto.
 
Arriba