Foros del Web » Programando para Internet » PHP »

Paginacion

Estas en el tema de Paginacion en el foro de PHP en Foros del Web. Hola amigos. Estoy desarrollando un proyecto y no encuentro en donde esta la falla con la paginacion. El Script asi como esta, me toma perfectamente ...
  #1 (permalink)  
Antiguo 12/12/2007, 07:08
 
Fecha de Ingreso: marzo-2004
Ubicación: Tijuana, B.C.
Mensajes: 66
Antigüedad: 20 años, 1 mes
Puntos: 0
Paginacion

Hola amigos.

Estoy desarrollando un proyecto y no encuentro en donde esta la falla con la paginacion. El Script asi como esta, me toma perfectamente la pagina 1, pero al dar click en siguiente, me aparece la tabla en blanco.

Segun yo, tiene que ver con alguno de los dos while pero no estoy muy seguro, por eso expongo mi codigo a ver si me pueden echar la mano.

Código PHP:
<?php
//Incluir la conexion
include("top_script.php"); 

//Designo valor al tercer select
$valor $_POST['sel3'];

//Paginacion
$pagina $_GET['pagina'];

$registros 5;

if (!
$pagina) { 
    
$inicio 0
    
$pagina 1

else { 
    
$inicio = ($pagina 1) * $registros


//tabla
echo "<table border=1 cellspacing=1 cellpadding=1>";
echo 
"<tr>";
echo 
"<td>Codigo</td>";
echo 
"<td>Imagen</td>";
echo 
"<td>Marca</td>";
echo 
"<td>Descripcion</td>";
echo 
"</tr>";

//Creo funcion para recuperar valores de la tabla "productos"
$sql "SELECT code FROM lsd_demo_2 WHERE rec_id='$valor'";
$resultado mysql_query($sql);
while (
$fila mysql_fetch_assoc($resultado)) {
    
$num $fila['code'];
    
$resultado_prod mysql_query("SELECT id FROM productos WHERE codegral='$num'");
    
$total_registros mysql_num_rows($resultado_prod);
    
$resultado_prod mysql_query("SELECT * FROM productos WHERE codegral='$num' ORDER BY code ASC LIMIT $inicio, $registros");
    
$total_paginas ceil($total_registros $registros);
    if (
$total_registros) {
    while (
$fila_prod mysql_fetch_array($resultado_prod)) {
        echo 
"<tr>";
        echo 
"<td>".$fila_prod['code']."</td>";
        echo 
"<td><a href=".$fila_prod['large']."><img src=".$fila_prod['thumb']."></a></td>";
        echo 
"<td>".$fila_prod['marca']."</td>";
        echo 
"<td>".$fila_prod['titulo']."</td>";
        echo 
"</tr>";
        } 
    
mysql_free_result($resultado_prod);    
    echo 
"</table>";
    
    if(
$total_registros) {
        
        echo 
"<center>";
        
        if((
$pagina 1) > 0) {
            echo 
"<a href='example_2_posted.php?pagina=".($pagina-1)."'>< Anterior</a> ";
        }
        
        for (
$i=1$i<=$total_paginas$i++){ 
            if (
$pagina == $i
                echo 
"<b>".$pagina."</b> "
            else
                echo 
"<a href='example_2_posted.php?pagina=$i'>$i</a> "
        }
      
        if((
$pagina 1)<=$total_paginas) {
            echo 
" <a href='example_2_posted.php?pagina=".($pagina+1)."'>Siguiente ></a>";
        }
        
        echo 
"</center>";
        
       }
    }
}
?>
De Antemano muchisimas gracias y felices fiestas.
__________________
Que les Llueva Luz a todos!!
  #2 (permalink)  
Antiguo 12/12/2007, 08:28
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Paginacion

Mira si no me equivoco tu error esta aqui..

for ($i=1; $i<=$total_paginas; $i++){
if ($pagina == $i)
echo "<b>".$pagina."</b> ";
else
echo "<a href='example_2_posted.php?pagina=".$i.">".$i</a> "; <--------
}
No se si mi correcion estara bien pero creo que tu problema es ese.. PHP no esta leyendo la variables como tal si no como si $i fuera el termino a buscar.. escribelo como como valor concatenado.. asi como hicistes con la pagina echo "<b>".$pagina."</b> ";

Yo tengo el mismo problema pero estoy usando variables de sesion no se si alguien me puede ayudar con eso.. a mi tambien..
echo "<font face='verdana' size='-2'><b>".$i."</b>&nbsp;</font>"; te deberia quedar algo asi..
  #3 (permalink)  
Antiguo 12/12/2007, 13:17
 
Fecha de Ingreso: marzo-2004
Ubicación: Tijuana, B.C.
Mensajes: 66
Antigüedad: 20 años, 1 mes
Puntos: 0
Re: Paginacion

Nop. No es por eso.

Lo modifique como tu dices, pero no es eso.

Estoy casi seguro de que tiene que ver con alguno de los dos While, pero aun no encuentro la falla.
__________________
Que les Llueva Luz a todos!!
  #4 (permalink)  
Antiguo 12/12/2007, 14:02
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Paginacion

Pues mira prueba cambiando el primer While en vez de mysql_fetch_assoc() por que no colocas mysql_fetch_array()

array mysql_fetch_assoc ( resource $resultado )

Devuelve una matriz asociativa que corresponde a la fila recuperada y mueve el apuntador de datos interno hacia adelante. mysql_fetch_assoc() es equivalente a llamar mysql_fetch_array() con MYSQL_ASSOC como el segundo parámetro opcional. Únicamente devuelve una matriz asociativa.

mysql_fetch_array() es una versión extendida de mysql_fetch_row(). Además de guardar los datos en el índice numérico de la matriz, guarda también los datos en los índices asociativos, usando el nombre de campo como clave.

Intenta cambiandola y luego me cuentas.. espero te sirva.. para que se vaya ese dolor de cabeza..
  #5 (permalink)  
Antiguo 13/12/2007, 03:11
 
Fecha de Ingreso: marzo-2004
Ubicación: Tijuana, B.C.
Mensajes: 66
Antigüedad: 20 años, 1 mes
Puntos: 0
Re: Paginacion

Nope... los mismos resultados.

Muestra la primer pagina... eso quiere decir que el codigo de busqueda esta bien.

Muestra tambien el "footer" donde aparece el <<-- 1 2 3 -->>, eso quiere decir que el codigo de paginacion esta correcto.

Sin embargo, al cambiar de pagina... solo me muestra la tabla con encabezados.. pero vacia y tampoco me muestra el "footer" con los links de paginacion.

Pero muchas gracias por ayudar Agressor.

Salu2!
__________________
Que les Llueva Luz a todos!!
  #6 (permalink)  
Antiguo 13/12/2007, 08:29
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Mensaje Re: Paginacion

Oye pero estas usando para tomar la variable con la que buscas en el sql la estas tomando por POST usa GET para que esta tambien te vaya pasando por la URL de tu pagina.. prueba a ver
  #7 (permalink)  
Antiguo 13/12/2007, 09:28
 
Fecha de Ingreso: marzo-2004
Ubicación: Tijuana, B.C.
Mensajes: 66
Antigüedad: 20 años, 1 mes
Puntos: 0
Re: Paginacion

De hecho si...

Lo resolvi hace apenas unas horas jejeje llevo toda la noche sin dormir .

Al final cambie el primer while de lugar y pase las variables por post. Ah tambien use el script de Paginator, muy bueno por cierto.

Quedo asi el codigo:

Código PHP:
<?php
//Incluir la conexion
include("top_script.php"); 

//Designo valor al tercer select
$valor $_GET['sel3'];
$sql "SELECT code FROM lsd_demo_2 WHERE rec_id='$valor'";
$resultado mysql_query($sql);
while (
$fila mysql_fetch_assoc($resultado)) {
    
$num $fila['code'];
}

echo 
"<table border=1 cellspacing=1 cellpadding=1>";
echo 
"<tr>";
echo 
"<td>Codigo</td>";
echo 
"<td>Imagen</td>";
echo 
"<td>Marca</td>";
echo 
"<td>Descripcion</td>";
echo 
"</tr>";

//recuperar valores de la tabla "productos"
    
$_pagi_sql "SELECT * FROM productos WHERE codegral='$num' ORDER BY code ASC";
    
$_pagi_cuantos 5;
    include (
"paginator.inc.php");
    while (
$fila_prod mysql_fetch_array($_pagi_result)) {
        echo 
"<tr>";
        echo 
"<td>".$fila_prod['code']."</td>";
        echo 
"<td><a href=".$fila_prod['large']."><img src=".$fila_prod['thumb']."></a></td>";
        echo 
"<td>".$fila_prod['marca']."</td>";
        echo 
"<td>".$fila_prod['titulo']."</td>";
        echo 
"</tr>";
        } 
    echo 
"</table>";
    echo
"<p>".$_pagi_navegacion."</p>";
?>
Ahora nada mas tengo que buscar un codigo para quitarme el sueño y poder ir a la oficina... sera algo como...

Código PHP:
<?php
if($sueño == muchisimo) {
$trabajo "0";
}else{
$trabajo "No quiero ir a trabajar!!"
}
?>
Jajajaja. Gracias por la ayuda Agressor, saludos.
__________________
Que les Llueva Luz a todos!!
  #8 (permalink)  
Antiguo 13/12/2007, 09:42
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
De acuerdo Re: Paginacion

Oye para eso esta el foro.. me alegro que hayas resuelto tu problema, lo unico malo es que te tuvistes que desvelar pero bueno no hay peor lucha que la que no se hizo y me alegra que lo hayas resuelto..

Espero futuros problemas...

Salud2 y si ese codigo PHP para ir a trabajar fuera asi de simple seria lo mejor..!! jejejejeje
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 10:44.