Foros del Web » Programando para Internet » PHP »

Modificar un <select> por medio de una variable de sesion

Estas en el tema de Modificar un <select> por medio de una variable de sesion en el foro de PHP en Foros del Web. hola amigos, les cuento los antecedentes de mi problema asi talvez en una de esas hay otra solucion. Tengo un formulario que lo envio, en ...
  #1 (permalink)  
Antiguo 15/05/2009, 08:32
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 17 años, 7 meses
Puntos: 3
Modificar un <select> por medio de una variable de sesion

hola amigos, les cuento los antecedentes de mi problema asi talvez en una de esas hay otra solucion.

Tengo un formulario que lo envio, en la cual tengo selects, radio buttons, text, etc. osea un formulario tipico, lo envio y me genera una tabla con calculos que los hago mediante arrays, todos los datos del form los guardo en variables de sesion, para usarlas en distintas partes.
El session_start() lo tengo en todas las paginas.

El problema es que cuando envio el formulario y se ve la tabla generada por los calculos, al hacer atras, con el boton del navegador o con el history.back() pues me lleva al formulario inicial pero no tiene ningun dato, lo cual queria que se mantengan los datos para poder corregir la tabla.

bueno debido a ese inconveniente decidi hacer una pagina que la llame corregir.php la cual puse en los text y radio las variables de sesion, y todo ok hasta ahi pero no se como hacer que se recupere los datos para un <select> por ejemplo para una fecha que tiene 31 numeros.

hize algo asi XD:
Código PHP:
<?
       $result
=$_SESSION['sesion_tipo_moneda'];
    echo 
"<b>".$result."</b><br>";
    echo 
"<select name='tipo_moneda' id='tipo_moneda'>";
    while (
$row=$result)
    {
    echo 
'<option value="'.$row['tipo_moneda'].'">'.$row['tipo_moneda'].'</option>';
    }
    
?>
que recien me fije este codigo de este foro, pero obviamente no me funciona, ojala puedan ayudarme con esto.

gracias de antemano
  #2 (permalink)  
Antiguo 15/05/2009, 08:57
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: Modificar un <select> por medio de una variable de sesion

Código php:
Ver original
  1. <?
  2.     echo "<select name='tipo_moneda' id='tipo_moneda'>";
  3.     while ($row=$result)
  4.     {
  5.     if($row['tipo_moneda']==$_SESSION['sesion_tipo_moneda'])
  6.     {echo '<option value="'.$row['tipo_moneda'].'" selected>'.$row['tipo_moneda'].'</option>';}
  7.      else
  8.     {echo '<option value="'.$row['tipo_moneda'].'">'.$row['tipo_moneda'].'</option>';}
  9.     }
  10.     ?>

Pueba de esta manera
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.

Última edición por the_web_saint; 15/05/2009 a las 09:02
  #3 (permalink)  
Antiguo 15/05/2009, 09:19
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: Modificar un <select> por medio de una variable de sesion

gracias pero como le hago cuando es una fecha? que tiene 31 numero por lo menos?
  #4 (permalink)  
Antiguo 15/05/2009, 13:12
 
Fecha de Ingreso: abril-2009
Ubicación: Cuba
Mensajes: 54
Antigüedad: 15 años, 7 meses
Puntos: 2
Con la fecha lo haces de igual modo, vas llenando los datos y comparando con el campo value del option y si es igual le adicionas selected. Así de simple.

Saludos.

Con la fecha lo haces de igual modo, vas llenando los datos y comparando con el campo value del option y si es igual le adicionas selected. Así de simple.

Saludos.

Última edición por GatorV; 16/05/2009 a las 19:19
  #5 (permalink)  
Antiguo 15/05/2009, 13:52
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: Modificar un <select> por medio de una variable de sesion

bueno intente la solucion de arriba pero no me salen todas las opciones.
seguro que tambien resulta para variables de sesion?, bueno supongo que si, seguire intentando pero
  #6 (permalink)  
Antiguo 15/05/2009, 14:19
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: Modificar un <select> por medio de una variable de sesion

Pero recuerda que debes hacer el query a la DB porque asi lo planteas con ese bucle.
Como haces para llenar el combo?

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #7 (permalink)  
Antiguo 15/05/2009, 14:35
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: Modificar un <select> por medio de una variable de sesion

ese es el problema, no dije que guardaba el valor del select en una BD, lo guardo en una variable de session para posteriormente recien guardarlo en una base de datos.
  #8 (permalink)  
Antiguo 15/05/2009, 15:55
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: Modificar un <select> por medio de una variable de sesion

Bueno, si no lo guardas los valores del select son estaticos.
Debes colocarlos y en todos colocar el if de que si es igual a lo que tiene la variable de session que le aplique el selected. Ahi en el codigo de arriba es como si hicieras una consulta, pero como dices q no consultas debes colocar los option estaticamente, como los pusiste en el primer formulario.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #9 (permalink)  
Antiguo 15/05/2009, 16:11
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: Modificar un <select> por medio de una variable de sesion

hize esto:
Código PHP:
<?
        $moneda 
$_SESSION['sesion_tipo_moneda'];
        echo 
"<select name='tipo_moneda' id='tipo_moneda'>";
        echo 
"<option>Seleccione el Tipo de Moneda</option>";
        if(
$moneda=='UFVs')
        {
            echo 
"<option value=".$moneda." selected>".$moneda."</option>";
            echo 
"<option value='Bs.'>Bs.</option>";
            echo 
"<option value='&#36us'>&#36us</option>";
        }
        elseif(
$moneda=='Bs.')
        {
            echo 
"<option value='UFVs'>UFVs</option>";
            echo 
"<option value=".$moneda." selected>".$moneda."</option>";
            echo 
"<option value='&#36us'>&#36us</option>";
        }
        else
        {
            echo 
"<option value='UFVs'>UFVs</option>";
            echo 
"<option value='Bs.'>Bs.</option>";
            echo 
"<option value=".$moneda." selected>".$moneda."</option>";
        }
        echo 
"</select>";
        
?>
pero como veras para una fecha es bastante largo
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 12:06.