Foros del Web » Programando para Internet » PHP »

Paginar Datos

Estas en el tema de Paginar Datos en el foro de PHP en Foros del Web. Hola Estaba viendo un ejemplo de paginacion de datos (paginar.php), lo implemente, pero al momento de ejecutarlo solo me muestra los diez primeros registros, me ...
  #1 (permalink)  
Antiguo 30/09/2003, 19:16
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
Paginar Datos

Hola
Estaba viendo un ejemplo de paginacion de datos (paginar.php), lo implemente, pero al momento de ejecutarlo solo me muestra los diez primeros registros, me muestra abajo tantos numeros de paginas como deberia ser pero al marcar en alguna o en siguiente siempre me queda en los diez primeros
Alguien sabe como se puede solucionar eso o que es lo que estoy haciendo mal?
Tendra que ver algo la version de php, tengo la php-4.3.2-Win32


Aca esta el codigo
paginar.php
Código PHP:
<html>
<head>
<title>Páginación de resultados</title>
</head>
<body bgcolor=#FFFFFF> 
<?
// Datos de conexión 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 página
$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"
$contarokmysql_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 conexión a la base
$con=mysql_close($con);

// Creando los enlaces de paginación
echo "<p>";
if (
$pg <> 0)
{
$url $pg 1;
echo 
"<a href='paginar.php?pg=".$url."'>&laquo; Anterior</a>&nbsp;";
}
else {
echo 
" ";
}

for (
$i 0$i<($pages 1); $i++) {
if (
$i == $pg) {
echo 
"<font face=Arial size=2 color=ff0000><b>&nbsp;$i&nbsp;</b></font>";
}
else {
echo 
"<a href='paginar.php?pg=".$i."'>".$i."</a>&nbsp;";
}
}

if (
$pg $pages) {
$url $pg 1;
echo 
"<a href='paginar.php?pg=".$url."'>Siguiente &raquo;</a>";
}
else {
echo 
" ";
}
echo 
"</p>";
?>
</body>
</html>

Gracias y Salu2
  #2 (permalink)  
Antiguo 01/10/2003, 05:38
 
Fecha de Ingreso: septiembre-2003
Mensajes: 11
Antigüedad: 14 años, 2 meses
Puntos: 0
Bien, no se si te servire de ayuda, pero creo que hay un fallo, la variable $pg no veo que la recojas en ningun sitio por lo que posiblemente no te intente ir a ninguna otra pagina de los resultados. Con lo que en vez de hacer
if (!isset($pg))

seria

if (!isset($_GET["pg"])){
""
}else{
$pg = $_GET["pg"];
}

No se si bastara con esto, pero creo que todo lo demas esta bien.
Espero haberte ayudado.

Un saludo.
  #3 (permalink)  
Antiguo 01/10/2003, 05:54
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Debe ser lo que comenta Prozac. Y supongo porque tienes el register_globals a OFF en el php.ini (que es como debe estar). El script lo habras cogido de algun sitio que programa con register_globals a ON. Con esa configuracion no hace falta usar el $_GET para coger las variables de la URL, simplemente accedes a ella por el nombre.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 01/10/2003, 09:58
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
Disculpen mi inexperiencia,
que diferencia hay entre usar register_globals en OFF o en ON??
Lo vi en las FAQ's pero no me quedo muy claro
Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
  #5 (permalink)  
Antiguo 01/10/2003, 13:30
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 15 años, 5 meses
Puntos: 0
Gracias Prozac y Josemi
Ahora me funciona

Salu2
__________________
AK.T.I.V.E.tm Live, Never DIE
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 09:26.