elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  problema if (!empty()) con paginador
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema if (!empty()) con paginador  (Leído 3,850 veces)
soru13

Desconectado Desconectado

Mensajes: 246



Ver Perfil
problema if (!empty()) con paginador
« en: 9 Mayo 2011, 21:52 pm »

hola,hice el siguiente código para un paginador de resultados que tengo en mi web,lo que yo he hecho es ponerle los típicos botones de siguiente y anterior:

Código
  1. <?php
  2.         $totalPag = ceil($total/$limit);
  3.         $links = array();
  4.         $pagina = $HTTP_GET_VARS["pag"];
  5. $sig = $pagina + 1;
  6. $ant = $pagina - 1;
  7. $siguiente = "-&nbsp;<a href='index2.php?pag=$sig'>Siguiente >></a>";
  8. $anterior = "&nbsp;<a href='index2.php?pag=$ant'><< Anterior</a>&nbsp;-";
  9.         if ($pagina > 1) {
  10. echo $anterior;
  11. }else {
  12. }
  13. for( $i=1; $i<=$totalPag ; $i++)
  14.         {
  15.            $links[] = "<a href=\"index.php?pag=$i\">[$i]</a>";  
  16.         }
  17.         echo implode(" - ", $links);
  18. if ($pagina >= $totalPag) {
  19. } else {
  20. echo $siguiente;
  21. }
  22.      ?>

me funciona bien el código,el único problema es que cuando la página tiene ésta dirección:

http://www.miweb.com/index.php

no me obtiene el
Código
  1. $pagina = $HTTP_GET_VARS["pag"];
y entonces el botón de siguiente por defecto me lleva a

http://www.miweb.com/index.php?pag=1

pero el caso es que index.php?pag=1 muestra los mismos resultados que index.php, lo que necesito es que si no encuentra index.php?pag=X en el botón de siguiente lleve directamente a index.php?pag=2, para esto hice lo siguiente:

Código
  1. if (!empty($pagina)) {
  2. echo "-&nbsp;<a href='index2.php?pag=2'>Siguiente >></a>";
  3. } else {
  4. echo $siguiente;
  5.    }
  6. }

pero me devuelve siempre el $siguiente a pesar que la url es index.php o index.php?pag=

¿Alguien me puede ayudar? Gracias


« Última modificación: 9 Mayo 2011, 22:06 pm por soru13 » En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: problema if (!empty()) con paginador
« Respuesta #1 en: 9 Mayo 2011, 22:16 pm »

El problema esta en el if(!empty($pagina)), la condición se cumple si la variable $pagina contiene algún valor. Resumido:

si la pagina contiene index.php?pag=X, se cumple la condición y se ejecuta el echo. Si contiene index.php, no se cumple la condición y pasa al else para luego ejecutar $siguiente.

Con esto bastaría:

Código
  1. <?php
  2.  
  3. if(empty($pagina)){
  4.  
  5. echo "-&nbsp;<a href='index2.php?pag=2'>Siguiente >></a>";
  6. }else{
  7.  
  8. echo $siguiente;
  9.  
  10.    }
  11.  
  12. ?>


En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
soru13

Desconectado Desconectado

Mensajes: 246



Ver Perfil
Re: problema if (!empty()) con paginador
« Respuesta #2 en: 9 Mayo 2011, 22:19 pm »

¿Y entonces cómo hago para que si está en index.php el botón de siguiente vaya directamente a index.php?pag=2?

un saludo!
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: problema if (!empty()) con paginador
« Respuesta #3 en: 9 Mayo 2011, 22:28 pm »

Trata de ejecutarlo primero.

Código
  1. <?php
  2.  
  3. /*La variable $pagina contiene el valor del parametro $_GET['var']
  4. Si no se le pasa el parametro 'var', la variable $pagina estaria
  5. vacia (index.php) y el boton siguiente iria a index.php?pag=2
  6. */
  7.  
  8.  
  9. if(empty($pagina)){
  10. echo "-&nbsp;<a href='index.php?pag=2'>Siguiente >></a>";
  11. }else{
  12. echo $siguiente;
  13.    }
  14.  
  15. ?>
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
soru13

Desconectado Desconectado

Mensajes: 246



Ver Perfil
Re: problema if (!empty()) con paginador
« Respuesta #4 en: 9 Mayo 2011, 22:37 pm »

Ya lo conseguí, gracias YOYA  ;-)
En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: problema if (!empty()) con paginador
« Respuesta #5 en: 12 Mayo 2011, 04:15 am »

solo para agregar... deberias usar $_GET en vez de $_HTTP_GET_VARS que es antiguo (y obsoleto, dejara de existir pronto)
En línea

Ojo por ojo, y el mundo acabará ciego.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Fatal error: Cannot access empty property in...
PHP
Thaorius 2 4,468 Último mensaje 30 Diciembre 2006, 06:09 am
por Thaorius
Paginador de resultados ayuda! « 1 2 3 4 »
PHP
den_22 34 10,526 Último mensaje 18 Mayo 2010, 05:40 am
por den_22
aplicar paginador
PHP
AWES0MN 3 2,665 Último mensaje 31 Mayo 2010, 19:05 pm
por AWES0MN
Problema paginador en Sql Server 2005
Bases de Datos
WHK 2 2,971 Último mensaje 15 Julio 2013, 17:26 pm
por WHK
[Pregunta]: Valor 0 es sinonimo de vacio (empty) « 1 2 »
Desarrollo Web
Leguim 13 6,856 Último mensaje 29 Diciembre 2019, 02:40 am
por Leguim
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines