Foros del Web » Programando para Internet » PHP »

Problemas con la clausula LIMIT (paginacion)

Estas en el tema de Problemas con la clausula LIMIT (paginacion) en el foro de PHP en Foros del Web. Hola amigos, demás está decir que soy un principiante en esto del php. Tengo una db con 50 registros que me los tira de una ...
  #1 (permalink)  
Antiguo 21/11/2009, 16:22
 
Fecha de Ingreso: noviembre-2009
Mensajes: 164
Antigüedad: 14 años, 5 meses
Puntos: 0
Problemas con la clausula LIMIT (paginacion)

Hola amigos, demás está decir que soy un principiante en esto del php. Tengo una db con 50 registros que me los tira de una vez.
Quiero paginarlos, de 5 en 5 (total: 10 paginas). Resulta que encontré este código en la red:

Cita:
<?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, nombre FROM rank LIMIT $offset, $limit";
$sqlTotal = "SELECT FOUND_ROWS() as total";

$rs = mysql_query($sql);
$rsTotal = mysql_query($sqlTotal);

$rowTotal = mysql_fetch_assoc($rsTotal);
// Total de registros sin limit
$total = $rowTotal["total"];
?>

<table border="1" bordercolor="#000">
<thead>
<tr>
<td>Id</td>
<td>Nombre</td>
</tr>
</thead>
<tbody>

<?php
while ($row = mysql_fetch_assoc($rs))
{
$id = $row["id"];
$name = htmlentities($row["nombre"]);
?>

<tr>
<td>
<?php echo $id; ?>
</td>
<td>
<?php echo $name; ?>
</td>
</tr>

<?php
}
?>

</tbody>
<tfoot>
<tr>
<td colspan="2">

<?php
$totalPag = ceil($total/$limit);
$links = array();
for( $i=1; $i<=$totalPag ; $i++)
{
$links[] = "<a href=\"?pag=$i\">$i</a>";
}
echo implode(" - ", $links);
?>

</td>
</tr>
</tfoot>
</table>
QUe básicamente es una tabla y se van creando las paginas. En mi caso, si, se crean 10 links (cada link lleva a una pagina con 5 registros, total: 50 registros). El problema es que no pude o no se como limitar a 5 los registros por pagina, ya que, simplemente, me tira los 50 registros en todas las paginas. Bueno, gracias por adelantado.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:10.