Ayuda con PHP

bigabav
10 de Noviembre del 2005
MI PROBLEMA ES EL SIGUIENTE
MI CONSULTA MUESTRA LOS DATOS DE UNA TABLA, PERO EN LA TABLA HAY MAS DE 1000 REGISTROS

LO QUE QUIERO HACER ES QUE MUESTRE EN LOTES DE 50 REGISTROS

Y ABAJO QUE DIGA SIGUIENTE O ANTERIOR ASI COMO EN GOOGLE CUANDO ARROJA EL RESULTADO DE ALGUNA BUSQUEDA

ALGUIEN AYUDEMEEEEEEE!

Jaime Vera
10 de Noviembre del 2005
<html>
<head>
<title>Paginacion de resultados</title>
</head>
<body bgcolor=#FFFFFF>
<?
// Datos de conexin a la base
$base="nombredelabase";
$con=mysql_connect(servidor,usuario,password);
mysql_select_db($base,$con);

if (!isset($pg))
$pg = 0; // $pg es la pagina actual
$cantidad=10; // cantidad de resultados por pgina
$inicial = $pg * $cantidad;

$pegar = "SELECT * FROM tabla ORDER BY titulo LIMIT $inicial,$cantidad";
$cad = mysql_db_query($base,$pegar) or die (mysql_error());

$contar = "SELECT * FROM tabla ORDER BY titulo";
$contarok= mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);

// Imprimiendo los resultados
while($array = mysql_fetch_array($cad)) {
echo $array['titulo']."<br>";
}

// Cerramos la conexin a la base
$con=mysql_close($con);

// Creando los enlaces de paginacin
echo "<p class=fonty>";
if ($pg != 0) {
$url = $pg - 1;
echo "<a href='$PHP_SELF?pg=".$url."'>&laquo; Anterior</a>&nbsp;";
} else {
echo " ";
}
for ($i = 0; $i <= $pages; $i++) {
if ($i == $pg) {
if ($i == "0") {
echo "<b> 1 </b>";
} else {
$i = $i+1;
echo "<b> ".$i." </b>";
}
} else {
if ($i == "0") {
echo "<a href=$PHP_SELF?pg=".$i.">1</a> ";
} else {
echo "<a href='$PHP_SELF?pg=".$i."'>";
$i = $i+1;
echo $i."</a>&nbsp;";
}
}
}
if ($pg < $pages) {
$url = $pg + 1;
echo "<a href='$PHP_SELF?pg=".$url."'>Siguiente &raquo;</a>";
} else {
echo " ";
}
echo "</p>";
?>
</body>
</html>


Este Script a mi me sirvió alguna vez para hacer algo semejante. Espero que también te sirva.
SALUDOS("jjaimevera");
http://www.dondeando.com/02