Foros del Web » Programando para Internet » PHP »

Duda con variables en url

Estas en el tema de Duda con variables en url en el foro de PHP en Foros del Web. Buenas. Tengo una tabla con un paginador para poder ir hacia alande o atras. Para pasar entre paginas utilizo dos variables, plataforma para indicar de ...
  #1 (permalink)  
Antiguo 31/07/2012, 03:22
 
Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 14 años, 3 meses
Puntos: 0
Duda con variables en url

Buenas.

Tengo una tabla con un paginador para poder ir hacia alande o atras.

Para pasar entre paginas utilizo dos variables, plataforma para indicar de que consola es y page para indicar en que pagina estoy.

El codigo que uso es el siguiente.

Nota: El codigo lo cogi de otra pagina solo que lo he adaptado a mis nesesidades.

Código PHP:
if($num_rows != 0){
        $nextpage= $page +1;
        $prevpage= $page -1;
        ?><ul id="pagination-digg"><?
        
        
if ($page == 1) {
            
?>
            <li class="previous-off">&laquo; Anterior</li>
            <li class="active">1</li> <?
            
for($i$page+1$i<= $lastpage $i++){?>
                    <li><a href="http://localhost/infojuegos/includes/secciones/juegos.php?plataforma=<? echo $consola?>&page=<? echo $i;?>"><? echo $i;?></a></li>
        <? }
            
            if(
$lastpage >$page ){?>       
            <li class="next"><a href="http://localhost/infojuegos/includes/secciones/juegos.php?plataforma=<? echo $consola?>&page=<? echo $nextpage;?>" >Siguiente &raquo;</a></li><?
            
}else{?>
            <li class="next-off">Siguiente &raquo;</li>
        <?  }
        } else {
                
            
?>
            <li class="previous"><a href="http://localhost/infojuegos/includes/secciones/juegos.php?plataforma=<? echo $consola?>&page=<? echo $prevpage;?>"  >&laquo; Anterior</a></li><?
            
for($i1$i<= $lastpage $i++){
                            
                    if(
$page == $i){
                
?>  <li class="active"><? echo $i;?></li><?
                    
}else{
                
?>  <li><a href="http://localhost/infojuegos/includes/secciones/juegos.php?plataforma=<? echo $consola?>&page=<? echo $i;?>" ><? echo $i;?></a></li><?
                    
}
            }
                    
            if(
$lastpage >$page ){    ?> 
            <li class="next"><a href="http://localhost/infojuegos/includes/secciones/juegos.php?plataforma=<? echo $consola?>&page=<? echo $nextpage;?>">Siguiente &raquo;</a></li><?
            
}else{
                
?> <li class="next-off">Siguiente &raquo;</li><?
            
}
        }
        }
        }
    
        
?></ul>
Todo funciona correctamente, pero el problema viene cuando quiero hacer un filtrado por letras.

Hasta ahora tengo un abeceradio siendo cada letra un href que llama a la tabla pasandole la variable letra.

Pero si doy a una letra y voy a la pagina 2 se genera la pagina 2 pero del inicio (osea el que no filtra).

Como podria hacer para conservar siempre el filtro?, deberia tener en los hred del paginador las tres variables xxx.php?plataforma=xxxxxx&letra=x&page=xx a sabiendas de que al inicio no deberia haber nada en la varialbe letra, o podria contener todos por defecto??

He pensado que como al pulsar a una letra el href me carga de nuevo una pagina, serioa de poner en el inicio algo similar a esto.

Código PHP:
if(isset($_GET['letra'])){.....} 
Para que si hay una letra pasada por el href que lo filtre, si no, no haga nada, pero no se si tendria que poner un if por cada letra.

Espero que me puedan ayudar, muchas gracias.
  #2 (permalink)  
Antiguo 31/07/2012, 05:28
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Duda con variables en url

Se trata de filtrar los datos y traspasar los parametros....

Supongo que $num_rows es el numero de registros obtenidos en una consulta previa OK?
Luego lo que debes hacer es

Código PHP:
Ver original
  1. if(isset($_GET['letra']) && $_GET['letra']!=0){
  2.      var $letra= $_GET['letra'];
  3. ....consulta filtrando por la letra.... WHERE .... nosequecampo LIKE ".$_GET['letra']."*"....;
  4. }else{
  5.       var $letra= 0;
  6.     .... consulta original.....
  7. }
  8.  
  9. ....juegos.php?plataforma=<? echo $consola; ?>&page=<? echo $prevpage;?>&letra=<? echo $letra ?>"
Luego $num_rows será el numero de registros filtrado o no... si te funcionaba sin filtro te debe funcionar con filtro (solo que trabajará con menos registros y menos paginas).

Tomo 0 (cero) como valor nulo para no tener que reescribir las url con o sin el parametro letra.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 31/07/2012 a las 05:43

Etiquetas: tabla, url, variables
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 04:58.