Foros del Web » Programando para Internet » PHP »

que una variable no se pierda al pasar pagina

Estas en el tema de que una variable no se pierda al pasar pagina en el foro de PHP en Foros del Web. Pues bien hace unos dias y con ayuda de Vosk conseguí que en la paginacion de mi web, al pasar de pagina mantuviera un valor ...
  #1 (permalink)  
Antiguo 07/01/2014, 10:09
Avatar de angel_xx_1990  
Fecha de Ingreso: junio-2013
Ubicación: Guadalajara
Mensajes: 236
Antigüedad: 11 años, 4 meses
Puntos: 0
Exclamación que una variable no se pierda al pasar pagina

Pues bien hace unos dias y con ayuda de Vosk conseguí que en la paginacion de mi web, al pasar de pagina mantuviera un valor de un select, para ello le añadí un código al select en concreto y luego al codigo de la paginación:


Código PHP:
<?php 

if ($pagina>1)
    echo 
"<a href='moda.php?num=". ($pagina-1) ."&sel=".$sel."&busca=".$busca."'>Anterior</a> ";

    for (
$cont=1;$cont<=$paginas;$cont++)
    {
        if (
$cont==$pagina)
            echo 
$cont ." ";
        else
            echo 
"<a href='moda.php?num="$cont ."&sel=".$sel."&busca=".$busca."'>$cont</a> ";
        
    }
if (
$pagina<$paginas)
    echo 
"<a href='moda.php?num=". ($pagina+1) ."&sel=".$sel."&busca=".$busca."'>Siguiente</a> ";
    
?>

Como veís el buscador lo e añadido en la barra de direcciones tambien
&busca=".$busca."

Pero no me lo tiene en cuenta...creo que debo poner algo más al buscador en su forma, que lo tengo asi:

Código PHP:
Ver original
  1. <input name="busca" type="text" id="busca" size="15">&nbsp;&nbsp;<input type="submit" value="Buscar">



Pero no se muy bien el que....Gracias
  #2 (permalink)  
Antiguo 07/01/2014, 10:22
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 15 años, 4 meses
Puntos: 27
Respuesta: que una variable no se pierda al pasar pagina

el form lo tenes que pasar por get y hacer

Código PHP:
if(isset($_GET['buscar'])){
$buscar $_GET['buscar']

  #3 (permalink)  
Antiguo 07/01/2014, 10:36
Avatar de angel_xx_1990  
Fecha de Ingreso: junio-2013
Ubicación: Guadalajara
Mensajes: 236
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: que una variable no se pierda al pasar pagina

pero eso iria aqui??:

Código PHP:
Ver original
  1. <input name="busca" type="text" id="busca" size="15">&nbsp;&nbsp;<input type="submit" value="Buscar">
  2.  
  3. <?
  4.  
  5. if(isset($_GET['buscar'])){
  6. $buscar = $_GET['buscar']
  7. }  
  8. ?>


Me temo que no funciona....
  #4 (permalink)  
Antiguo 07/01/2014, 10:44
Avatar de angel_xx_1990  
Fecha de Ingreso: junio-2013
Ubicación: Guadalajara
Mensajes: 236
Antigüedad: 11 años, 4 meses
Puntos: 0
Pregunta Respuesta: que una variable no se pierda al pasar pagina

haber si el caso es que en la barra de navegacion si me lo escirbe, por ejemplo si en el buscador pongo: complementos, (por ejemplo) en la barra de navegacion me pone:


...moda.php?num=2&sel=Hombre%20-%20Complementos&busca=complementos


"&busca=complementos" pero no me lo tiene en cuenta.....
  #5 (permalink)  
Antiguo 07/01/2014, 10:45
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 15 años, 4 meses
Puntos: 27
Respuesta: que una variable no se pierda al pasar pagina

Código PHP:
<?
if(isset($_GET['buscar'])){
$buscar $_GET['buscar'];

else{
$buscar "";
}

?>
<input name="busca" type="text" id="busca" size="15" value="<?=$buscar?>">&nbsp;&nbsp;<input type="submit" value="Buscar">

<?php 
/*
La consulta a la base con el parametros pasados($buscar, $pagina), tenes que tener el cuenta la pagina y si el buscar esta vacio
*/
/*
mostras los resultados de la consulta
*/
/*paginacion*/
if ($pagina>1)
    echo 
"<a href='moda.php?num=". ($pagina-1) ."&sel=".$sel."&busca=".$busca."'>Anterior</a> ";

    for (
$cont=1;$cont<=$paginas;$cont++)
    {
        if (
$cont==$pagina)
            echo 
$cont ." ";
        else
            echo 
"<a href='moda.php?num="$cont ."&sel=".$sel."&busca=".$busca."'>$cont</a> ";
        
    }
if (
$pagina<$paginas)
    echo 
"<a href='moda.php?num=". ($pagina+1) ."&sel=".$sel."&busca=".$busca."'>Siguiente</a> ";
    
?>
  #6 (permalink)  
Antiguo 07/01/2014, 10:55
Avatar de angel_xx_1990  
Fecha de Ingreso: junio-2013
Ubicación: Guadalajara
Mensajes: 236
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: que una variable no se pierda al pasar pagina

No existe alguna forma de mantener esas variables al pasar de pagina pero que no se tengan que mostrar en la barra de navegación, pues si quiero hacer una busqueda avanzada me temo que la barra va a estar llena de campos...


¿Esto es posible?
  #7 (permalink)  
Antiguo 07/01/2014, 11:00
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 15 años, 4 meses
Puntos: 27
Respuesta: que una variable no se pierda al pasar pagina

Si se llega de campos si haces una busqueda avanzada. Es asi como se hace.
Y para que no se pierda, podes usar las variables de session.
  #8 (permalink)  
Antiguo 07/01/2014, 11:05
Avatar de angel_xx_1990  
Fecha de Ingreso: junio-2013
Ubicación: Guadalajara
Mensajes: 236
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: que una variable no se pierda al pasar pagina

Ahora, y haciendo lo que tu me has dicho me muestra en la barra

...&busca=


Vacío, y no funciona
  #9 (permalink)  
Antiguo 07/01/2014, 11:09
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 15 años, 4 meses
Puntos: 27
Respuesta: que una variable no se pierda al pasar pagina

Cita:
Iniciado por angel_xx_1990 Ver Mensaje
Ahora, y haciendo lo que tu me has dicho me muestra en la barra

...&busca=


Vacío, y no funciona
Pone un IF que si $buscar esta vacio no haga la consulta. Sino te va a traer todos los datos, si queres que te traiga todos los datos, pone un IF cuando armas sql, para que omita el parametro con la varibles $buscar.
  #10 (permalink)  
Antiguo 07/01/2014, 11:24
 
Fecha de Ingreso: enero-2012
Ubicación: <?php echo"Los teques"; ?>/////estado miranda
Mensajes: 196
Antigüedad: 12 años, 9 meses
Puntos: 9
Respuesta: que una variable no se pierda al pasar pagina

Te recomiendo que busques acerca de "Url amigables" eso te solucionara tus problemas, convertiria

tuweb.com?busqueda=asdf ----> tuweb.com/busqueda/asdf ó tuweb.com/b/asdf
  #11 (permalink)  
Antiguo 07/01/2014, 12:01
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: que una variable no se pierda al pasar pagina

Cita:
Iniciado por angel_xx_1990 Ver Mensaje
No existe alguna forma de mantener esas variables al pasar de pagina pero que no se tengan que mostrar en la barra de navegación
Puedes pasar la variable a través del método POST o guardarla en una sesión para que no se muestre en la URL, pero recuerda que para las búsquedas, se utiliza el método GET ya que tiene un carácter constructivo, pues se suele utilizar para realizar consultas a la BD, mientras que POST tiene un carácter destructivo, pues se utiliza para alterar los datos de la BD.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: select, variable
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 22:17.