Foros del Web » Programando para Internet » PHP »

Problema con Paginación de resultados en PHP

Estas en el tema de Problema con Paginación de resultados en PHP en el foro de PHP en Foros del Web. Código PHP: <?php  include  'config.php' ;    $TAMANO_PAGINA  =  3 ;  //examino la página a mostrar y el inicio del registro a mostrar  $pagina  =  $_GET [ "pagina" ];  if (! $pagina ) {           $inicio  =  0 ...
  #1 (permalink)  
Antiguo 01/12/2011, 13:55
 
Fecha de Ingreso: septiembre-2010
Mensajes: 51
Antigüedad: 16 años, 1 mes
Puntos: 5
Problema con Paginación de resultados en PHP

Código PHP:
<?php include 'config.php'; 


 
$TAMANO_PAGINA = 3; 

//examino la página a mostrar y el inicio del registro a mostrar 
$pagina = $_GET["pagina"]; 
if (!
$pagina) { 
        
$inicio = 0; 
        
$pagina=1; 
} 
else { 
       
$inicio = ($pagina - 1) * $TAMANO_PAGINA; 
}
//miro a ver el número total de campos que hay en la tabla con esa búsqueda 
$ssql = "select * from peli_series " . $criterio; 
$rs = mysql_query($ssql,$link); 
$num_total_registros = mysql_num_rows($rs); 
//calculo el total de páginas 
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA); 

//pongo el número de registros total, el tamaño de página y la página que se muestra 
echo "Número de registros encontrados: " . $num_total_registros . "<br>"; 
echo 
"Se muestran páginas de " . $TAMANO_PAGINA . " registros cada una<br>"; 
echo 
"Mostrando la página " . $pagina . " de " . $total_paginas . "<p>";

 
         
$sql = "SELECT * FROM peli_series ORDER BY $orden $cacho"  . $criterio . " LIMIT " . $inicio . "," . $TAMANO_PAGINA;
$sql = mysql_query($sql, $link); 

while(
$row=mysql_fetch_array($sql)) // Esta es la linea 147
  
{ 
  
$enviar_id = $row['id'];
$ultimo = $row['last_cliente'];
if (
$ultimo == ""){
$ultimo = "Nadie alquilo este producto";
}
$cant = $row['cantidad'];
if (
$cant == "0"){
$cant= "Producto Agotado";
}
?> 
           <td> <?php echo $row['nombre'];?></td>
           <td><?php echo $row['id'];?></td>
           <td><?php echo $row['tipo'];?></td>
           <td><?php echo $row['genero'];?></td>
           <td><?php echo $cant;?></td>
           <td><?php echo $row['alquiladas'];?></td>
           <td><?php echo $ultimo;?></td>
          
           <td><a href="procesar.php?v=del_pelicula&id_pelserie=<?php echo $enviar_id; ?>">Borrar</a> - Editar -<a href="visitp.php?v=peli&id_peli=<?php echo $enviar_id; ?>"> ver </a></td>
         </tr>
         <?php  } 
mysql_free_result($rs); 
mysql_close($link);

//muestro los distintos índices de las páginas, si es que hay varias páginas 
if ($total_paginas > 1){ 
       for (
$i=1;$i<=$total_paginas;$i++){ 
           if (
$pagina == $i) 
              
//si muestro el índice de la página actual, no coloco enlace 
              
echo $pagina . " "; 
           else 
              
//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página 
             
             
echo "<a href='show_m.php?pagina=" . $i . "&criterio=" . $txt_criterio . "'>" . $i . "</a> "; 
   }    
}
?>
Tengo problemas con ese paginador, me larga Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\video\show_m.php on line 147.

Busque por todos lados y no se q estoy haciendo mal.
  #2 (permalink)  
Antiguo 01/12/2011, 14:02
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 18 años, 3 meses
Puntos: 1532
Respuesta: Problema con Paginación de resultados en PHP

puede ser que la cadena sql de consulta tenga un error de sintaxis, verificalo
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 01/12/2011, 14:08
 
Fecha de Ingreso: diciembre-2011
Mensajes: 159
Antigüedad: 14 años, 11 meses
Puntos: 18
Respuesta: Problema con Paginación de resultados en PHP

Hola

lo que te esta diciendo es que no tienes resultados y es por la sentencia

$ssql = "select * from peli_series " . $criterio;

no le estas diciendo nada debe ser algo asi

$ssql = "select * from peli_series WHERE tabla = " . $criterio;

o

$ssql = "select * from peli_series WHERE tabla LIKE %" . $criterio."%";
  #4 (permalink)  
Antiguo 01/12/2011, 14:51
 
Fecha de Ingreso: septiembre-2010
Mensajes: 51
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Problema con Paginación de resultados en PHP

Cita:
Iniciado por nestornoe Ver Mensaje
Hola

lo que te esta diciendo es que no tienes resultados y es por la sentencia

$ssql = "select * from peli_series " . $criterio;

no le estas diciendo nada debe ser algo asi

$ssql = "select * from peli_series WHERE tabla = " . $criterio;

o

$ssql = "select * from peli_series WHERE tabla LIKE %" . $criterio."%";
en esa consulta no necesito where u order porq solo cuento los resultados
  #5 (permalink)  
Antiguo 01/12/2011, 15:40
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 20 años, 6 meses
Puntos: 58
Respuesta: Problema con Paginación de resultados en PHP

Has probado cambiar el nombre de la primera variable?
Código PHP:
$sql2 = "SELECT * FROM peli_series ORDER BY $orden $cacho"  . $criterio . " LIMIT " . $inicio . "," . $TAMANO_PAGINA;
$sql = mysql_query($sql2, $link); 
  #6 (permalink)  
Antiguo 11/12/2011, 19:49
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tapachula
Mensajes: 16
Antigüedad: 15 años
Puntos: 2
Respuesta: Problema con Paginación de resultados en PHP

Mmmm... no te compliques la vida y aprendan a leer sus errores.
mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Qué quiere decir? que no esta recibiendo un argumento valido, en este caso seria tu variable $sql
como conclucion, tu consulta no se esta generando, te recomiendo que imprimas con un alert o un echo tu variable $sql y veas si es correcta tu consulta.

Saludos!!

Etiquetas: mysql, registro, resultados, sql, tabla
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:20.