Hola de nuevo,
Expongo otra duda que tengo con respecto al codigo que necesito para que los resultados de una consulta a la base de datos se vean en pantalla paginadas con registros de 10 en 10...
Copio el archivo :
Código HTML:
<?php
$dbhost="localhost";
$dbusuario="usuario";
$dbpassword="password";
$db="basededatos";
$conexion=mysql_connect($dbhost,$dbusuario,$dbpassword);
mysql_select_db ($db,$conexion);
if (!isset($pg))
{
$pg = 0; // $pg es la pagina actual
$cantidad=10; // cantidad de resultados por página
$inicial = $pg * $cantidad;
$pegar = "SELECT ID,Tipo,Localidad FROM Prueba ORDER BY ID LIMIT $inicial,$cantidad";
$cad = mysql_db_query($db,$pegar) or die (mysql_error());
$contar = "SELECT ID,Tipo,Localidad FROM Prueba ORDER BY ID";
$contarok= mysql_db_query($db,$contar);
$total_records = mysql_num_rows($contarok);
$pages = intval($total_records / $cantidad);
echo "<table border ='1' align='center'>";
echo"<tr>";
echo"<td ><div align='center'><strong><font color='#d3ff00' face='Futura Lt BT' size='2'>ID</font></strong></div></td>";
echo"<td ><div align='center'><strong><font color='#d3ff00' face='Futura Lt BT' size='2'>TIPO</font></strong></div></td>";
echo"<td ><div align='center'><strong><font color='#d3ff00' face='Futura Lt BT'size ='2'>LOCALIDAD</font></strong></div></td>";
echo "</tr>";
while($o=mysql_fetch_object($cad))
{
echo "<tr>";
echo"<td><div align='center'><font color='#000000' face='Futura Lt BT'size='2'>$o->ID</font></div></td>";
echo"<td><div align='center'><font color='#000000' face='Futura Lt BT'size='2'>$o->Tipo</font></div></td>";
echo"<td><div align='center'><font color='#000000' face='Futura Lt BT'size='2'>$o->Localidad</font></div></td>";
echo"</tr>";
}
echo"</table>\n";
}
else
echo "<div align='center'><font color='d3ff00' face='Futura Lt BT'><strong>La tabla esta vacia.</strong></font> </div>";
// Cerramos la conexión a la base
$conexion=mysql_close($conexion);
// Creando los enlaces de paginación
echo "<p class=fonty>";
if ($pg != 0) {
$url = $pg - 1;
echo "<a href='$PHP_SELF?pg=".$url."'>« Anterior</a> ";
} 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> ";
}
}
}
if ($pg < $pages) {
$url = $pg + 1;
echo "<a href='$PHP_SELF?pg=".$url."'>Siguiente »</a>";
} else {
echo " ";
}
echo "</p>";
?>
Dudas:
A la consulta de la base de datos tambien se le incluye LIMIT o no?
El resultado de este codigo es que recibo en pantalla los 10 registros pero al darle en el enlace 2 se queda en pg=1 tengo 11 registros en la tabla por lo que deberia de aparecer 1 registro mas en la pagina 2 pero no va...
Una manita??
Gracias,
Saludos