Hola tengo el siguiene codigo para obtener una paginacion :
$consulta = mysql_query('SELECT * FROM pagos',$conexion) or die('no se pudo realizar la consulta'.mysql_error());
$num_registros = mysql_num_rows($consulta);
$registros = 10;
$pagina = $_GET['num'];
if(is_numeric($pagina))
$inicio = (($pagina-1)*$registros);
else
$inicio = 0;
$resetcodigo = mysql_query("ALTER TABLE pagos AUTO_INCREMENT = 1");// Resetear el codigo cuando empieze desde 1
$consulta2 = mysql_query("SELECT * FROM pagos LIMIT $inicio,$registros",$conexion);
$paginas = ceil($num_registros/$registros);
echo '<nav class="navegacion">
<ul>
<li><a class="a_li" href="../index.html">Inicio</a></li>
<li><a class="a_li" href="pacientes.php">Pacientes</a></li>
<li><a class="a_li" href="pagos.php">Pagos</a></li>
<li><a class="a_li" href="citas.php">Citas</a></li>
<li><a class="a_li" href="entradas_salidas.php">Entradas-Salidas</a></li>
<li><a class="a_li" href="productos.php">Productos</a></li>
<li><a class="a_li" href="abonos.php">Panel de Clientes</a></li>
<ul>
</nav>';
echo'
<form action="ctrl_pagos.php" method="POST">
<table>
<tr><div id="div_brsuperior" background="blue">Control Pagos</div></tr>
<div id="div_brnewpaciente"><a class="fancy_formpagos" href="form_pagos.php"><label class="lbl_new"><img src="../imagenes/im_add.png" id="im_add">Nuevo </label></a></div>
<tr id="tr_im_titulos">
<td>Codigo</td>
<td>Nombre</td>
<td>Fecha</td>
<td>Valor</td>
<td colspan="2">Acciones</td>
</tr>';
while($resultado = mysql_fetch_array($consulta2)){
echo'
<tr>
<td class="td_codigo_centrar">'.$resultado['codigo_pg'].'</td>
<td>'.$resultado['nombre'].'</td>
<td>'.$resultado['fecha'].'</td>
<td>'.$resultado['valor'].'</td>
<td><a href="pagos_update.php?var='.$resultado['codigo_pg'].'"><img src="../imagenes/im_modificar.png" title="Modificar Registro"></td>
<td><a href="pagos_delete.php?var='.$resultado['codigo_pg'].'" onclick=" return ConfirmDelete()"><img src="../imagenes/im_eliminar.png" title="Eliminar Registro"></td>
</tr>';
}
echo '</table>';
echo '</form>';
echo '<div id="div_brinferior">'; // borde inferior*********
if($pagina > 1)
echo "<a href='pagos.php?num=".($pagina-1)."'><img src='../imagenes/im_back.gif' id='im_back'></a> ";
for($contador=1;$contador <= $paginas;$contador++)
{
if($contador == $pagina)
echo $contador.'<img src="../imagenes/im_actual.png">';
else
echo "<a href='pagos.php?num=".$contador."'><input type='button' value='$contador'></a> ";
}
if($pagina < $paginas)
echo "<a href='pagos.php.php?num=".($pagina+1)."'><img src='../imagenes/im_next.gif' id='im_back'></a> ";
echo '</div>'; // cierre borde_inferior*********
_____________________________________________
lo que falta controlar es el Numero de paginas q se van a mostrar.
como se puede ver despues de 10 registros se crea una pagina Nueva
me explico:
en caso de 100 registros se mostraria 10 paginas cada una con sus respectivos 10 registros:
1-2-3-4-5-6-7-8-9-10
el inconveniente es que si aumenta el numero de paginas estas se van a mostrar sin ningun control
1-2-3-4-5-6-7-8-9-10-11-12-13-14-15-16-17-18-19 ..........
lo que quiero es que si hay 15 paginas se muestren solo 10 y una flechita para avansar, en donde seria algo asi :
< 2-3-4-5-6-7-8-9-10-11 >
< 3-4-5-6-7-8-9-10-11-12 >
como puedo hacer esto ?
ya q en caso de haber 1000 registros serian: 100 paginas me abarcaria todo el ancho de la pantalla jajaj
mientras q mostrar solo de a 10 e ir aumentando creo q asi deve ser .