Foros del Web » Programando para Internet » PHP »

Pasar valor seleccionado de Select a variable php

Estas en el tema de Pasar valor seleccionado de Select a variable php en el foro de PHP en Foros del Web. Hola desde hace rato estoy buscando como al seleccionar un elemento de un select este genere una acción y guarde en una variable php el ...
  #1 (permalink)  
Antiguo 15/03/2011, 20:02
 
Fecha de Ingreso: marzo-2011
Ubicación: lima
Mensajes: 25
Antigüedad: 13 años, 1 mes
Puntos: 0
Exclamación Pasar valor seleccionado de Select a variable php

Hola desde hace rato estoy buscando como al seleccionar un elemento de un select este genere una acción y guarde en una variable php el valor del elemento seleccionado.
Eh leido algo de recargar la pagina y por eso puse en el onchange document.form.submit();
Presento el codigo

<form id="form6" name="form6" method="post" action="index.php">
<select name="transporte" size="5" onchange="document.form.submit();">
<?php
echo $variable_html;
?>

</select>
<input type="submit" name="btnAceptar" id="btnAceptar" value="Aceptar" />

</form>

Aqui la variable php trae los elementos select de manera dinamica.
Mi consulta es como pasar el valor de lo que seleccione a una variable de tipo php para luego procesarla.
Gracias ante todo.
  #2 (permalink)  
Antiguo 15/03/2011, 20:18
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Pasar valor seleccionado de Select a variable php

Segun veo en tu codigo no esa bien armado el select...

Fijate en esto:
Código HTML:
Ver original
  1. <select name="test" id="test">
  2.     <option value="uno">Uno</option>
  3.     <option value="dos">Dos</option>
De esta manera funciona un select...

Ahora... para poder pasar este valor al enviar el formulario y dejar seleccionado el listado... debes obtener la variable antes de mostrar el select, y al momento de hacer el listado de opciones, preguntar si la variable es igual a la opcion:
Código PHP:
Ver original
  1. <?php
  2. $var = $_POST['test'];
  3. if($var == "uno"){
  4.     $sU = "selected";
  5. }
  6. if($var == "dos"){
  7.     $sD = "selected";
  8. }
  9. ?>
  10. <form id="form" name="form" method="post" action="index.php">
  11. <select name="test" id="test" onChange="document.form.submit();">
  12.     <option value="uno"<?php echo $sU;?>>Uno</option>
  13.     <option value="dos"<?php echo $sD;?>>Dos</option>
  14. </select>
  15. <input type="submit" name="btnAceptar" id="btnAceptar" value="Aceptar" />
  16. </form>
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 15/03/2011, 20:34
 
Fecha de Ingreso: marzo-2011
Ubicación: lima
Mensajes: 25
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Pasar valor seleccionado de Select a variable php

bueno $variable_html genera
<option value="uno">Uno</option>
<option value="dos">Dos</option>

no hay problema con ello?
  #4 (permalink)  
Antiguo 15/03/2011, 20:37
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Pasar valor seleccionado de Select a variable php

Mmm... en ese caso tendras que poner el selected mientras armas $variable_html. De todas maneras no es un problema.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 15/03/2011, 20:49
 
Fecha de Ingreso: marzo-2011
Ubicación: lima
Mensajes: 25
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Pasar valor seleccionado de Select a variable php

De casualidad sabes por que me marca variable indefinida?
  #6 (permalink)  
Antiguo 15/03/2011, 20:51
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Pasar valor seleccionado de Select a variable php

Muestrame tu codigo y recuerda seleccionarlo y apretar el boton que dice "HIGHLIGHT" en este cuadro para que quede comentado como codigo php.

Saludos!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #7 (permalink)  
Antiguo 15/03/2011, 21:12
 
Fecha de Ingreso: marzo-2011
Ubicación: lima
Mensajes: 25
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Pasar valor seleccionado de Select a variable php

Código PHP:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3.     <head>
  4.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5.         <title></title>
  6.     </head>
  7.     <body>
  8.     <form name="form1" method="post" action="consulta.php">
  9.       Escriba usuario
  10.       <input type="text" name="txtUsuario" id="txtUsuario">
  11.     <input type="submit" name="btnEnviar" id="btnEnviar" value="Consultar">
  12.     </form>
  13. </body>
  14. </html>

Es el inicial
el segundo es
Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3.     <head>
  4.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5.         <title>Documento sin t&iacute;tulo</title>
  6.         <script src="SpryAssets/SpryTabbedPanels.js" type="text/javascript"></script>
  7.         <link href="SpryAssets/SpryTabbedPanels.css" rel="stylesheet" type="text/css" />
  8.         <style type="text/css">
  9.             <!--
  10.             .Estilo1 {
  11.                 font-size: 1em
  12.             }
  13.             -->
  14.         </style>
  15.     </head>
  16.     <?php
  17.     include 'conection.php';
  18.     $link = Conectarse();
  19.     $encon = false;
  20.     $varuser = $_POST['txtUsuario'];
  21.     $direccion = $_POST['transporte'];
  22.     $sql = "SELECT usuarios.nomb_usuarios, Razas.nomb_raza FROM usuarios INNER JOIN Razas ON usuarios.codi_raza = Razas.codi_raza where usuarios.nomb_usuarios = '$varuser'";
  23.     $resultado = mysql_query($sql, $link);
  24.     if ($fila = mysql_fetch_array($resultado)) {
  25. //Se verifica que el resultado no sea vacio
  26.         mysql_field_seek($resultado, 0);
  27.         while ($field = mysql_fetch_field($resultado)) {
  28.             //Verifica que la metadata sea la correcta y la captura
  29.         }
  30.         do {
  31.             /*
  32.               Con "$fila" mostramos los datos y
  33.               mostramos los registros
  34.              */
  35.             $txtusuario = $fila[0];
  36.             $txtRaza = $fila[1];
  37.             $encon = true;
  38.         } while ($fila = mysql_fetch_array($resultado));
  39.         if ($encon) {
  40.             $sql = "SELECT Numero_direccion, Galaxia FROM Direcciones where nomb_usuarios = '$varuser'";
  41.             $resultado = mysql_query($sql, $link);
  42.             while ($fila = mysql_fetch_array($resultado)) {
  43.                 //echo $fila[0];
  44.                 $variable = $fila[0];
  45.                 Agregar_Lista($variable);
  46.                 echo $variable;
  47.                 //echo $fila[1];
  48.             }
  49.         }
  50.     } else {
  51.         /*
  52.           Si no se encontraron resultados
  53.           se muestra el siguiente mensaje
  54.          */
  55.         echo "No se encontraron resultados!";
  56.         header("Location: index.php");
  57.         //Redirecciona al indice si Hubo error
  58.     }
  59.    
  60.  
  61.     function Agregar_Lista($parametro) {
  62.         global $variable_html;
  63.         $variable_html = $variable_html . " " . "<option value=''>" . $parametro . "</option>";
  64.     }
  65.  
  66.     function panel_tropas() {
  67.         //$sql = "";
  68.         global $direccion;
  69.         echo $direccion;
  70.     }
  71.  
  72.     function panel_naves() {
  73.  
  74.     }
  75.  
  76.     function panel_defensas() {
  77.  
  78.     }
  79.     ?>
  80.     <body>
  81.  
  82.         <form id="form1" name="form1" method="post" action="">
  83.             <label>Otras opciones</label>
  84.             <label>
  85.                 <select name="Menu_opcion" id="Menu_opcion">
  86.                     <option value="Menu_eliminar">Eliminar usuarios y sus datos</option>
  87.                     <option value="Menu_salir">Salir</option>
  88.                 </select>
  89.             </label>
  90.         </form>
  91.  
  92.         <form id="form4" name="form4" method="post" action="">
  93.  
  94.             Usuario&nbsp;&nbsp;&nbsp;
  95.             <input name="txtusuario" type="text" id="txtusuario" value=<?php echo $txtusuario ?> />
  96.             &nbsp; Raza&nbsp; &nbsp;
  97.             <input name="txtraza" type="text" id="txtraza" value=<?php echo $txtRaza ?> />
  98.             &nbsp; &nbsp; &nbsp;
  99.         </form>
  100.  
  101.         <form id="form5" name="form5" method="post" action="">
  102.             Direcciones
  103.         </form>
  104.         <form id="form6" name="form6" method="post" action="index.php">
  105.             <select name="transporte" size="5" onchange="document.form.submit();">
  106.                 <?php
  107.                 echo $variable_html;
  108.                 ?>
  109.             </select>
  110.                
  111.                 <input type="submit" name="btnAceptar" id="btnAceptar" value="Aceptar" />
  112.  
  113.             </form>
  114.             &nbsp;
  115.  
  116.             <div id="Panel_principal" class="TabbedPanels">
  117.                 <ul class="TabbedPanelsTabGroup">
  118.                     <li class="TabbedPanelsTab Estilo1" tabindex="0">Tropas</li>
  119.                     <li class="TabbedPanelsTab Estilo1" tabindex="0">Naves</li>
  120.                     <li class="TabbedPanelsTab Estilo1" tabindex="0">Defensas</li>
  121.                 </ul>
  122.                 <div class="TabbedPanelsContentGroup">
  123.                     <div class="TabbedPanelsContent">
  124.                         <form id="form2" name="form2" method="post" action="">
  125.                             Contenido 1
  126.                         <?
  127.                         echo panel_tropas();
  128.                         ?>
  129.                     </form>
  130.                 </div>
  131.                 <div class="TabbedPanelsContent">
  132.                     <form id="form3" name="form3" method="post" action="">
  133.                         Contenido 2
  134.                         <?
  135.                         echo panel_naves();
  136.                         ?>
  137.                     </form>
  138.                 </div>
  139.                 <div class="TabbedPanelsContent">
  140.                     <form id="form4" name="form4" method="post" action="">
  141.                         Contenido 3
  142.                         <?
  143.                         echo panel_defensas();
  144.                         ?>
  145.                     </form>
  146.                 </div>
  147.             </div>
  148.         </div>
  149.         <p>&nbsp;</p>
  150.         <p>&nbsp;</p>
  151.         <script type="text/javascript">
  152.             <!--
  153.             var TabbedPanels1 = new Spry.Widget.TabbedPanels("Panel_principal", {defaultTab:2});
  154.             //-->
  155.         </script>
  156.  
  157.     </body>
  158. </html>

Es una pequeña aplicacion de juego cada usuario tiene un id y una raza y otros atributos como tropas,naves y defensas.
Espero puedas indicarme que esta mal.
Gracias
  #8 (permalink)  
Antiguo 15/03/2011, 21:16
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Pasar valor seleccionado de Select a variable php

Ok... si te fijas tienes varios formularios, con document.form.submit() va a enviar el primero siempre...

Por lo tanto trata de cambiar eso por: document.getElementByID("ID_DEL_FORM").submit()

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #9 (permalink)  
Antiguo 15/03/2011, 21:23
 
Fecha de Ingreso: marzo-2011
Ubicación: lima
Mensajes: 25
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Pasar valor seleccionado de Select a variable php

Ya realize eso pero van las comillas? o indico el form.
es :
document.getElementById(form6).submit();

o

document.getElementById("form6").submit();

por que con ninguno sale nada

si pongo

document.getElementById('form6').submit();

hace la recarga pero se pierde el valor de la variable $varuser alguna idea?

Última edición por jonathan777; 15/03/2011 a las 21:38
  #10 (permalink)  
Antiguo 15/03/2011, 21:40
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Pasar valor seleccionado de Select a variable php

Con comillas.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #11 (permalink)  
Antiguo 15/03/2011, 21:44
 
Fecha de Ingreso: marzo-2011
Ubicación: lima
Mensajes: 25
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Pasar valor seleccionado de Select a variable php

Si lo hice como te dije se queda en blanco la variable $varuser en la recarga ya que esta proviene de la interaccion de otro archivo php
  #12 (permalink)  
Antiguo 16/03/2011, 04:29
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Pasar valor seleccionado de Select a variable php

Agrega en todos los formularios los hidden para los datos que necesitas nuevamente.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #13 (permalink)  
Antiguo 16/03/2011, 20:54
 
Fecha de Ingreso: marzo-2011
Ubicación: lima
Mensajes: 25
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Pasar valor seleccionado de Select a variable php

Gracias pero opte por otra solucion usar sessiones y variables de esta.

Modifique esto en el codigo
Código PHP:
Ver original
  1.     $encon = false;
  2.     $varuser = $_POST['txtUsuario'];
  3.     if($varuser!="")
  4.     {
  5.        $_SESSION['txtUsuario'] = $varuser;
  6.     }
  7.     else
  8.     {
  9.         $varuser=$_SESSION['txtUsuario'];
  10.     }
  #14 (permalink)  
Antiguo 16/03/2011, 21:47
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Pasar valor seleccionado de Select a variable php

Perfect!

Como ves siempre hay mas de una solucion!

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #15 (permalink)  
Antiguo 18/03/2011, 09:26
 
Fecha de Ingreso: marzo-2011
Ubicación: lima
Mensajes: 25
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Pasar valor seleccionado de Select a variable php

Y lo del Select lo hice asi:

Código PHP:
Ver original
  1. function Agregar_Lista($parametro) {
  2.         global $variable_html;
  3.         if ($GLOBALS["direccion"] == $parametro) {
  4.             $variable_html = $variable_html . " " . "<option value='$parametro' selected>" . $parametro . "</option>";
  5.         } else {
  6.             $variable_html = $variable_html . " " . "<option value='$parametro' >" . $parametro . "</option>";
  7.         }
  8.         //$variable_html = $variable_html . " " . "<option value='$parametro' >" . $parametro . "</option>";
  9.     }

Así no tengo que hacer ningún calculo solo comprobación
  #16 (permalink)  
Antiguo 18/03/2011, 09:40
 
Fecha de Ingreso: marzo-2011
Ubicación: lima
Mensajes: 25
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Pasar valor seleccionado de Select a variable php

Una pregunta no se si te puedo pegar aki el codigo final y me des tu opinion de que mejorar o modificar.
Es la primera vez que programo en php.
Gracias.

Etiquetas: html, 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 17:33.