Foros del Web » Programando para Internet » PHP »

Como imprimir registros de 5 en 5

Estas en el tema de Como imprimir registros de 5 en 5 en el foro de PHP en Foros del Web. Reciban un cordial saludo! De antemano agradezco por compartir en este magnifico foro y pido disculpas si me he saltado algun paso para llegar primero ...
  #1 (permalink)  
Antiguo 30/07/2010, 15:50
 
Fecha de Ingreso: julio-2010
Mensajes: 28
Antigüedad: 13 años, 9 meses
Puntos: 0
Como imprimir registros de 5 en 5

Reciban un cordial saludo!
De antemano agradezco por compartir en este magnifico foro y pido disculpas si me he saltado algun paso para llegar primero aqui, realmente necesito de sus colaboraciones con urgencia

En esta oportunidad quisiera saber como puedo hacer para imprimir registros de una tabla para que me muestra solo de 5 en 5 cada vez que oprima un boton y me permita de la misma maner devolverme. La idea es implementar 4 botones para que uno de ellos me permitan mostrar los 5 primeros registros, el otro me permita mostrar los ultimos 5 registros, el otro me permita avanzar cada 5 registros y por ultimo pueda retroceder de la misma maner 5 registros
  #2 (permalink)  
Antiguo 30/07/2010, 16:01
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Como imprimir registros de 5 en 5

http://lmgtfy.com/?q=paginador+php
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 30/07/2010, 16:17
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Como imprimir registros de 5 en 5

vaya encontre uno bueno. ese me va a servir, gracias hidek jajajaja, pero a veces pasa que uno no sabe como buscar, por que no sabe lo que esta buscando o si lo que esta buscando existe.
  #4 (permalink)  
Antiguo 30/07/2010, 17:08
 
Fecha de Ingreso: julio-2010
Mensajes: 28
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Como imprimir registros de 5 en 5

Cita:
Iniciado por Hidek1 Ver Mensaje
[url]http://lmgtfy.com/?q=paginador+php[/url]
pues nada a mi no me sirvio aunque hay buenos temas... Lo q quiero es que me imprima solo 5 registros de una tabla al oprimir un boton (submit), cuando vuelva a oprimir el mismo boton me muestre los 5 siguientes registro, es decir,

Oprimo --> me muestra los registros del 1 al 5
Oprimo--> me muestra los registros del 6 al 10
Oprimo--> me muestra los registros del 11 al 15
Oprimo --> me muestra los registros del 16 al 20

y asi sucesivamente...de la misma manera q con otro boton me pueda devolver de 5 en 5!
Tengo mi tabla con id autoincrement desde el 1.

Por si las moscas ya he buscado en google pero nada, no se si no se preguntar!

La mayoria da esta solucion pero no me funciona para mi caso
select * from tabla order by id DESC LIMIT 5 ó
select * max(id) as max from tabla order by id DESC LIMIT 1
  #5 (permalink)  
Antiguo 30/07/2010, 18:02
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Como imprimir registros de 5 en 5

la verdad es que eso es paginación, pero en la forma que lo quieres hacer es muy dificil y además antinatural, es más facil mostrar todos los registros para que los muestre de 5 en 5 en diferentes paginas.
  #6 (permalink)  
Antiguo 30/07/2010, 18:46
 
Fecha de Ingreso: julio-2010
Mensajes: 28
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Como imprimir registros de 5 en 5

Cita:
Iniciado por memoadian Ver Mensaje
la verdad es que eso es paginación, pero en la forma que lo quieres hacer es muy dificil y además antinatural, es más facil mostrar todos los registros para que los muestre de 5 en 5 en diferentes paginas.
uhmm... la idea es en la misma pagina, me imagine que con un for (i=1; i<=5; i++)
o algo por el estilo, es decir, simpre me va (me tiene) saltar al mismo formulario ej: consultareg.php pero cada boton me imprime x registros diferentes.
La verdad soy novato en esto y por tanto no me imagine q fuera antinatural (yo creeria q no pq los he visto!)
  #7 (permalink)  
Antiguo 30/07/2010, 19:31
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Como imprimir registros de 5 en 5

De verás? me gustaria verlo así podría entenderte mejor, por que no le veo funcionalidad.
según yo sería más facil con un
<anterior + siguiente>
pero de verdad me gustaria verlo en accion eso de un solo boton.
aunque creo que es paginacion igual, pero con solo
+ siguiente>
  #8 (permalink)  
Antiguo 30/07/2010, 20:18
 
Fecha de Ingreso: julio-2010
Mensajes: 28
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: Como imprimir registros de 5 en 5

vamos a ver yo hice esto hace poco

Código PHP:
Ver original
  1. function show_entries($page, $connection, $root_path){
  2.     $mi_conexion = $connection;
  3.     $entry_init = 0;
  4.     $entry_end = 0;
  5.     $resultSet = mysql_query("SELECT COUNT(id_entry) AS numero_de_publicaciones FROM publicaciones");
  6.     if ($row = mysql_fetch_array($resultSet)){
  7.         $num_registros = $row['numero_de_publicaciones'];
  8.         $div = $num_registros / 5;
  9.         $mod = $num_registros % 5;
  10.         if ($page == ($div + 1) ){
  11.             $entry_end = (5 * $page ) - $mod;
  12.         }
  13.         else {
  14.             $entry_end = 5 * $page;
  15.             $entry_init = ( 5 * $page ) - 5;
  16.             $sql = "SELECT * FROM publicaciones ORDER BY id_entry DESC LIMIT $entry_init,$entry_end";
  17.             $resultSet = mysql_query($sql);
  18.             while ($row = mysql_fetch_array($resultSet)){
  19.                 $id_entry = $row['id_entry'];
  20.                 $autor = $row['author'];
  21.                 $titulo = $row['title'];
  22.                 $contenido_de_publicacion = $row['entry'];
  23.                 $length_total = strlen($contenido_de_publicacion);
  24.                 $puntos = false;
  25.                 if ($length_total > 1000){
  26.                     $contenido_de_publicacion = substr($contenido_de_publicacion, 0, 1000);
  27.                     $puntos = true;
  28.                 }
  29.                 $titulo_amigable = urls_amigables_entries($titulo);
  30.                 echo "<div style=\"overflow:hidden\">" ;
  31.                 echo "<a href=\"" . $root_path . "articulos/entry.php" . "?id_entry=$id_entry&?titulo=$titulo_amigable\">";
  32.                 echo "<font face=\"Georgia, Times New Roman, Times, serif\" size=\"6\">$titulo</font>";
  33.                 echo "</a><br/><br/>";
  34.                 echo "Publicado por <font color=\"#990000\">$autor</font>";
  35.                 echo $contenido_de_publicacion;
  36.                 if ($puntos)
  37.                     echo "...";
  38.                 echo "<br />";
  39.                
  40.                 $resultSet2 = mysql_query("SELECT COUNT(id_comment) as numero_comentarios FROM comentarios WHERE id_entry = $id_entry");
  41.                 if ($numero_comentarios = mysql_fetch_array($resultSet2)){
  42.                     $num = $numero_comentarios['numero_comentarios'];              
  43.                     echo "<strong>$num Comentario(s)</strong>";
  44.                 }
  45.                 echo "<hr width=\"80%\" \">";
  46.                 echo "<br /><br />";               
  47.                 echo "</div>";
  48.             }
  49.             $iterador = 0;
  50.             echo "<div align=\"center\">";
  51.             $pagina_final = ($div + 1);
  52.             if ($mod == 0)
  53.             $pagina_final = $div;
  54.             /* Este while es el que crea la nomeros de paginas abajo 1,2,3,4,5...
  55.              * Modificalo para mostrar los 4 botones que quieres siempre
  56.              * y en el action del boton le mandas el numero de pagina segun corresponda
  57.              * en tu caso al primer boton le mandas page=1 al siguiente page=$page-1 al siguiente page=$page+1
  58.              * y el ultimo page = $pagina_final
  59.             */
  60.             while ($iterador < $pagina_final){
  61.                 if ($page == ($iterador + 1)){
  62.                     echo $page . "   ";
  63.                 }
  64.                 else {
  65.                     echo "<a href=\"" . $root_path . "articulos/entry.php" . "?page=" . ($iterador + 1) ."\">";
  66.                     echo ($iterador + 1);
  67.                     echo "</a>";
  68.                     echo "   ";
  69.                 }
  70.                 $iterador++;
  71.             }
  72.             echo "</div>";
  73.         }
  74.     }
  75. }
  #9 (permalink)  
Antiguo 04/08/2010, 12:08
 
Fecha de Ingreso: julio-2010
Mensajes: 28
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Como imprimir registros de 5 en 5

Cita:
Iniciado por Mxrck Ver Mensaje
vamos a ver yo hice esto hace poco

Código PHP:
Ver original
  1. function show_entries($page, $connection, $root_path){
  2.     $mi_conexion = $connection;
  3.     $entry_init = 0;
  4.     $entry_end = 0;
  5.     $resultSet = mysql_query("SELECT COUNT(id_entry) AS numero_de_publicaciones FROM publicaciones");
  6.     if ($row = mysql_fetch_array($resultSet)){
  7.         $num_registros = $row['numero_de_publicaciones'];
  8.         $div = $num_registros / 5;
  9.         $mod = $num_registros % 5;
  10.         if ($page == ($div + 1) ){
  11.             $entry_end = (5 * $page ) - $mod;
  12.         }
  13.         else {
  14.             $entry_end = 5 * $page;
  15.             $entry_init = ( 5 * $page ) - 5;
  16.             $sql = "SELECT * FROM publicaciones ORDER BY id_entry DESC LIMIT $entry_init,$entry_end";
  17.             $resultSet = mysql_query($sql);
  18.             while ($row = mysql_fetch_array($resultSet)){
  19.                 $id_entry = $row['id_entry'];
  20.                 $autor = $row['author'];
  21.                 $titulo = $row['title'];
  22.                 $contenido_de_publicacion = $row['entry'];
  23.                 $length_total = strlen($contenido_de_publicacion);
  24.                 $puntos = false;
  25.                 if ($length_total > 1000){
  26.                     $contenido_de_publicacion = substr($contenido_de_publicacion, 0, 1000);
  27.                     $puntos = true;
  28.                 }
  29.                 $titulo_amigable = urls_amigables_entries($titulo);
  30.                 echo "<div style=\"overflow:hidden\">" ;
  31.                 echo "<a href=\"" . $root_path . "articulos/entry.php" . "?id_entry=$id_entry&?titulo=$titulo_amigable\">";
  32.                 echo "<font face=\"Georgia, Times New Roman, Times, serif\" size=\"6\">$titulo</font>";
  33.                 echo "</a><br/><br/>";
  34.                 echo "Publicado por <font color=\"#990000\">$autor</font>";
  35.                 echo $contenido_de_publicacion;
  36.                 if ($puntos)
  37.                     echo "...";
  38.                 echo "<br />";
  39.                
  40.                 $resultSet2 = mysql_query("SELECT COUNT(id_comment) as numero_comentarios FROM comentarios WHERE id_entry = $id_entry");
  41.                 if ($numero_comentarios = mysql_fetch_array($resultSet2)){
  42.                     $num = $numero_comentarios['numero_comentarios'];              
  43.                     echo "<strong>$num Comentario(s)</strong>";
  44.                 }
  45.                 echo "<hr width=\"80%\" \">";
  46.                 echo "<br /><br />";               
  47.                 echo "</div>";
  48.             }
  49.             $iterador = 0;
  50.             echo "<div align=\"center\">";
  51.             $pagina_final = ($div + 1);
  52.             if ($mod == 0)
  53.             $pagina_final = $div;
  54.             /* Este while es el que crea la nomeros de paginas abajo 1,2,3,4,5...
  55.              * Modificalo para mostrar los 4 botones que quieres siempre
  56.              * y en el action del boton le mandas el numero de pagina segun corresponda
  57.              * en tu caso al primer boton le mandas page=1 al siguiente page=$page-1 al siguiente page=$page+1
  58.              * y el ultimo page = $pagina_final
  59.             */
  60.             while ($iterador < $pagina_final){
  61.                 if ($page == ($iterador + 1)){
  62.                     echo $page . "   ";
  63.                 }
  64.                 else {
  65.                     echo "<a href=\"" . $root_path . "articulos/entry.php" . "?page=" . ($iterador + 1) ."\">";
  66.                     echo ($iterador + 1);
  67.                     echo "</a>";
  68.                     echo "   ";
  69.                 }
  70.                 $iterador++;
  71.             }
  72.             echo "</div>";
  73.         }
  74.     }
  75. }
Muchas gracias por la sugerencia y/o ayuda, en verdad quien estaba un poco confundido era yo, y por ende muy seguramente esto que me envias es todo lo que necesito. Lo adecuare a mi formulario para ver los resultados y luego te comento. De antemano mucha gracias!.
  #10 (permalink)  
Antiguo 10/08/2010, 12:59
 
Fecha de Ingreso: julio-2010
Mensajes: 28
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Como imprimir registros de 5 en 5

Hola Mxrck!
Quisiera hacer dos pregunticas, veo que en esta paginación estas trabajando dos tablas. Es posible generar la paginacion con los resultados de una sola tabla?

La otra: Necesito el codigo de otro formulario que me imprima los numeros o vinculos?, pues al implementar el codigo que me proporcionas y al digitar la URL en el navegador no me genera error, pero tampoco me muestra nada (formulario en blanco) aun cuando existe 10 rteghistro en esta tabla de la b.d.
  #11 (permalink)  
Antiguo 17/08/2010, 14:16
 
Fecha de Ingreso: julio-2010
Mensajes: 28
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Como imprimir registros de 5 en 5

Bueno un solo agradecimiento... Tenias razon memoadian esto es paginación!
Ya logre solucionar mi solicitud, fue muy facil através de Dreamweaver

Tema CERRADO!!!
  #12 (permalink)  
Antiguo 17/08/2010, 14:25
 
Fecha de Ingreso: marzo-2007
Mensajes: 4
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Como imprimir registros de 5 en 5

Hola te dejo el siguiente enlace para que resuelvas tu duda.
http://expresionweb.wordpress.com/2008/04/01/paginar-el-resultado-de-una-consulta-con-php-y-mysql/

Etiquetas: registros
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 13:04.