Foros del Web » Programando para Internet » PHP »

Como paginar esto?

Estas en el tema de Como paginar esto? en el foro de PHP en Foros del Web. Hola, bueno tengo un codigo que no lo escribi yo, lo saque de una web hace mucho y no me acuerdo cual era xD. La ...
  #1 (permalink)  
Antiguo 26/05/2013, 20:03
 
Fecha de Ingreso: marzo-2013
Ubicación: San Francisco
Mensajes: 26
Antigüedad: 11 años, 8 meses
Puntos: 1
Como paginar esto?

Hola, bueno tengo un codigo que no lo escribi yo, lo saque de una web hace mucho y no me acuerdo cual era xD.
La cuestion es que lo estoy usando en mi web y lo que hace es buscar unos datos en la bd y mostrar todos los que encuentra.
Los datos que busca son de peliculas, y yo tengo mas de 100 peliculas en mi db lo que hace que el codigo se repita mas de 100 veces y por lo tanto en mi web se muestran todas las peliculas en la misma pagina y se hace muy largooo xD.

Yo quiero por ejemplo que se paginen todas las peliculas mostrando solo 10 por pagina.

Este es el codigo
Código:
<div class="bl">
<a href="<?php echo $web; ?>/<?php echo $bus['p_tipo']; ?>/<?php echo $bus['p_seo']; ?>.html" title="<?php echo $bus['p_titulo']; ?>"><img src="<?php echo $bus['p_img']; ?>" alt="<?php echo $bus['p_titulo']; ?>" width="166" height="250" border="0" class="im" /></a>
<div class="tt"><h1><a href="<?php echo $web; ?>/<?php echo $bus['p_tipo']; ?>/<?php echo $bus['p_seo']; ?>.html" title="<?php echo $bus['p_titulo']; ?>">
<?php $texto=''.$bus['p_titulo'].'';
if (strlen($texto) > 23){ //Si la longitud de $texto es mayor a 23:
  echo substr($texto, 0, 23 - 3); //Obtengo desde el caracter 0 (desde el inicio) hasta el 20 (23 - 3 = 20)
  echo "..."; //Agrego tres puntitos para simular el leer mas
}else{ //Si la longitud de $texto es menor a 23
  echo $texto;
}
?></a></h1></div>
</div>
<?php } ?>
<?php }elseif($b_ver_let[0][0] == 0){ echo"No se encontraron resultados, intente mas tarde...";
}else{ echo"No hay noticias relacionadas a esta categoria";} ?>
  #2 (permalink)  
Antiguo 26/05/2013, 20:31
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 12 años, 3 meses
Puntos: 52
Respuesta: Como paginar esto?

Cita:
Iniciado por oLAUTAROo Ver Mensaje
Hola, bueno tengo un codigo que no lo escribi yo, lo saque de una web hace mucho y no me acuerdo cual era xD.
La cuestion es que lo estoy usando en mi web y lo que hace es buscar unos datos en la bd y mostrar todos los que encuentra.
Los datos que busca son de peliculas, y yo tengo mas de 100 peliculas en mi db lo que hace que el codigo se repita mas de 100 veces y por lo tanto en mi web se muestran todas las peliculas en la misma pagina y se hace muy largooo xD.

Yo quiero por ejemplo que se paginen todas las peliculas mostrando solo 10 por pagina.

Este es el codigo
Código:
<div class="bl">
<a href="<?php echo $web; ?>/<?php echo $bus['p_tipo']; ?>/<?php echo $bus['p_seo']; ?>.html" title="<?php echo $bus['p_titulo']; ?>"><img src="<?php echo $bus['p_img']; ?>" alt="<?php echo $bus['p_titulo']; ?>...ho"No hay noticias relacionadas a esta categoria";} ?>
es algo asi al final de tu instruccion sql

Código PHP:
Ver original
  1. $registrosporhoja=10;
Código SQL:
Ver original
  1. SELECT * FROM peliculas WHERE filtro='Accion' LIMIT ".($page*$registrosporhoja).",".$registrosporhoja;

esto mostrara 10 peliculas, las 10 primeras

haces otra

Código SQL:
Ver original
  1. SELECT * FROM peliculas WHERE filtro='Accion'

sin limit para saber el total de registros (mysql_num_rows($result)) y posteriormente saber cuantas paginas serán..

entonces luego haces un ciclo que te cree los links de las paginas.


Código PHP:
Ver original
  1. for($i=0; $i<$totalregistros/$registrosporhoja;$i++){
  2. creas link y vuelves a llamar la misma pagina o la pagina que los mostrara le mandas el parametro page=$i;
  3. }
entonces accedera a

Código PHP:
Ver original
  1. select * from peliculas where filtro='Accion' limit ".($page*$registrosporhoja).",".$registrosporhoja;


eso hara que los datos sean diferentes ya que page ahora tiene el siguiente o anterior valor que recibe por el parametro del link.

recuerda inicializar $page en "0" o "1" segun como inicies y verifica que la variable exista para que decidas que pagina mostrar en caso de que no
bueno con esto creo que te das una idea.
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra
  #3 (permalink)  
Antiguo 26/05/2013, 21:03
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: Como paginar esto?

Pero que....

Si vas a dar código a alguien que no tiene aun mucha idea de PHP hazlo de manera que sea fácil leerlo y comprenderlo, la forma en que lo muestras no tiene ni pies ni cabeza, aparte, tu código tiene deficiencias "graves", como piensas hacer cálculos matemáticos en un for(), en cada vuelta PHP volverá a realizar los cálculos consumiendo recursos y alentando el script...

Para @oLAUTAROo, amigo en internet hay infinidad de script y clases que realizan paginaciones, solo es cuestión de implementa, si lo que quieres es generar el código tu mismo solo es cuestión de que analices el código de clases o scripts ya hechos y trates de implementarlo, si tienes dudas o problemas puntuales publicalo en el foro y te ayudaremos con ellos
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #4 (permalink)  
Antiguo 27/05/2013, 12:33
 
Fecha de Ingreso: marzo-2013
Ubicación: San Francisco
Mensajes: 26
Antigüedad: 11 años, 8 meses
Puntos: 1
Respuesta: Como paginar esto?

Gracias por responder!
En cuanto a la primera respuesta, no entendi muy bien... al final de leer el codigo quede mareado :S.
Y con respecto a lo de buscar script como dijo Nemutagk, estuve buscando algunos y me cree una tabla nueva en la base de datos para probar si me salia paginar, y me salio jeje pero todavia no logro adaptarlo para que funcione en mi codigo... voy a seguir intentando haber si lo logro :P

Etiquetas: html, paginar, resultados
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 21:16.