• Publicidad

Mostrar 25 registros por página

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Re: Mostrar 25 registros por página

Notapor explorer » 2013-01-13 12:06 @545

Es fácil, pero hay que estar atento a unos cuántos detalles...

Crea un control <input> de tipo hidden, llamado, por ejemplo, 'pagina'.

En el código, después de hacer la consulta, según el número de resultados, deberás crear código HTML según quieras que aparezcan los controles de cambio de página, o no.

En caso de que tengan que aparecer, los controles deberán modificar el valor de 'pagina' para la siguiente pulsación que haga el usuario, sobre ellos.

Así, si has leído el valor de 'pagina' al principio del programa, y la has almacenado en una variable llamada $pagina, entonces deberás indicar la nueva URL de esos controles, con los valores $pagina+1 o $pagina-1, para que el usuario pueda avanzar o retroceder. Naturalmente, el control de avance de página no debe aparecer si ya está en la última página. Y el de retroceder, si está en la primera.

Como la petición la haces por medio del método GET, te vale con construir la URL, de forma parecida a esta:

$pag_antes = $pagina - 1;
$pag_desp = $pagina + 1;
$control_antes = qq(<a href="http://bonusqr.com/cgi-bin/ofertas.cgi?pagina=$pag_antes&..."> &lt; </a>);


Naturalmente, en la URL también deberás indicar el resto de parámetros del resto del formulario (en lo indicado antes como '...'). Es como si el usuario ingresara directamente en la página, por lo que hay que construir un URL completo.

Queda una cosa: debes modificar la consulta para que tenga en cuenta el valor de $pagina, a la hora de mostrar los resultados.

Consejos:
  • usa el módulo CGI, pues te ahorrará muchísimo código. Y un sistema de plantillas para no tener que mezclar código Perl y HTML
  • usar sysread() no hará que tu código sea más rápido o seguro
  • si el número de accesos es muy grande, acceder a archivos en modo texto puede convertirse en un cuello de botella. Es mejor usar una base de datos "de verdad"
  • si haces un lock, como parece que es lo que hace ReadLock, dejas bloqueado el acceso al archivo, por lo que otro usuario puede encontrarse con la base de datos cerrada. Si los accesos son de solo lectura, no necesitas bloquear nada (bueno, excepto en Windows, que va a su bola)
  • hay módulos en CPAN para realizar esta operación de paginado, como por ejemplo HTML::Paginator, Data::SimplePaginator, Data::Pageset, Data::SpreadPagination, Data::Page, CGI::Pager, o el increíble File::Tabular::Web, que convierte, directamente, un archivo de texto con datos en columnas, en una aplicación web
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Re: Mostrar 25 registros por página

Notapor globalworkteam » 2013-01-14 10:42 @487

¿¿¿Sería mucho pedir el código completo???

Gracias
globalworkteam
Perlero nuevo
Perlero nuevo
 
Mensajes: 14
Registrado: 2012-04-17 20:26 @893

Re: Mostrar 25 registros por página

Notapor explorer » 2013-01-14 14:53 @662

Pues... sí, porque depende del tipo de máquina, versión de Perl, módulos disponibles, etc.

No es algo obvio de 15 minutos... Quizás un par de horas de trabajo...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Mostrar 25 registros por página

Notapor alicante » 2013-06-24 09:39 @444

Muchas gracias, yo también estoy en el proceso de crear una página web para el negocio de un amigo, todavía soy bastante nuevo en el ámbito del diseño web por lo tanto estoy pensando usar plantillas web prefabricadas y hacerles algunas modificaciones y mejoras poco a poco. A mi también me parece bastante difícil lograr los cambios de página de manera correcta en HTML pero gracias a unos cuantos tutoriales online voy en camino, paso a paso creando una buena página web.

Como siempre muy buena explicación. Saludos.
“Errar es humano y culpar a tu computadora es aún más humano.”
Avatar de Usuario
alicante
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2013-06-06 05:27 @268

Anterior

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados