los cuales son los registrados , este se llama usuarios.php
al ingresar sale por orden de id todos los usuarios ...
como no quiero que salgan todos en una sola página le hise una paginación
para solo mostrar 5 usuarios por página ...
todo bien , pero necesito ayuda ,
necesito que el máximo de paginas sea solo 10
por ejemplo al costado le puse un boton llamado NEXT
yo quiero que cuando aprete NEXT se pase a otra página donde
empieze desde el numero 11 hasta el numero 20
por ejemplo que en la primera página sea asi ..
PREVIUS 1 - 2 - 3 - 4 -5 - 6 - 7- 8 - 9- 10 NEXT
cuando de NEXT , ahora saldran del número 11 hasta el numero 20
PREVIUS 11 - 12 - 13 - 14 -15 - 16 - 17- 18 - 19- 20 NEXT
y asi sucesivamente .. pero no lo logro
aqui pongo mi codigo PHP lo que hace listarlos y hace la paginación
Código PHP:
Ver original
<?php require('connect_db.php'); // maximo por pagina $limit = 5; // pagina pedida $pag = (int) $_GET["pag"]; if ($pag < 1) { $pag = 1; } $offset = ($pag-1) * $limit; $sql = "SELECT SQL_CALC_FOUND_ROWS id ,Nick ,Sexo ,FechaNac,DiaRegistro ,avatar FROM registro LIMIT $offset, $limit"; $sqlTotal = "SELECT FOUND_ROWS() as total"; // Total de registros sin limit $total = $rowTotal["total"]; { $id = $row["id"]; $Nick = $row["Nick"]; $Sexo = $row["Sexo"]; $Fecha = $row["FechaNac"]; $Registro = $row["DiaRegistro"]; $avatar = $row["avatar"]; ?> <p></p> <td align ="center" Height="30" Width="150" background="http://i46.tinypic.com/qsur9t.jpg"><font color="red"><label for="foro">Usuario</label></font></td> <td align ="center" Height="30" Width="110" background="ImagenInicio/fondotabla3.jpg"></td> <td align ="center" Height="30" Width="240" background="ImagenInicio/fondotabla3.jpg"></td> <td align ="center" Height="30" Width="400" background="ImagenInicio/fondotabla3.jpg"></td> </tr> <tr> <td align ="center" Height="110" Width="160" background="ImagenInicio/fondo.jpg" ><br><img src= <?php echo "miembros/$avatar" ?> width="110" height="130" /></br><br></br>Nick : <a href="perfil.php?id= <?php echo $id ?>"><font color="red"><?php echo $Nick ?></a></font><br></br></td> <td align ="left" Height="110" Width="160" background="ImagenInicio/fondo.jpg"><br><?php echo "***" ?>Sexo :</br><br><?php echo "***" ?>Fecha de Nacimiento :</br><br><?php echo "***" ?>Se registro el :</br></td> <td align ="left" Height="30" Width="140" background="ImagenInicio/fondo.jpg"><br><?php echo "***" ?> <?php echo $Sexo ?></br><br><?php echo "***" ?><?php echo $Fecha ?></br><br><?php echo "***" ?><?php echo $Registro ?></br></td> <td align ="center" Height="30" Width="390" background="ImagenInicio/fondo.jpg"></td> </tr> </tr> <?php } ?> </table> <script type="text/javascript"> //Redireccionar con el formulario creado document.formulario.submit(); </script> <p>**</p> <p>**</p> </form> </body> <table border="0" Height="30" width="1400" cellpadding="0" cellspacing="0" align ="center"> <tr> <td align="center" background="http://i46.tinypic.com/qsur9t.jpg"><font color=red > <?php for( $i=1; $i<=$totalPag ; $i++) { $links[] = "<li><a href=\"?pag=$i\">$i</a></li>"; } ?> <li class="next"><a href="?page=8">Next »</a></li> </ul> </font> </td> </tr> </table>
en la parte $totalPag = ceil($total/$limit)
es para sacar al numero total de páginas
$total q tiene todas las filas encontradas en la bd
y $limit que es la cantidad de registros que quiero que aparesca
la cual es 5
y con ceil hago que redondee al numero mas alto, el resultado de esto sale 3
asi que mostrara solo 3 páginas ..
mientras mas usuarios se registren el numero de páginas ira aumentando
yo quiero que solo llegue a un máximo de 10
y al darle next , continue del 11 al 2 , luego doy next y sera del 21 al 30 y asi sucesivamente...
espero alguien pueda ayudarme o darme alguna idea ....
gracias ..