Foros del Web » Programando para Internet » PHP »

Guardar el valor de una lista desplegable

Estas en el tema de Guardar el valor de una lista desplegable en el foro de PHP en Foros del Web. Hola, tengo cargado en una lista desplegable datos que estan en una tabla, el código es: Código PHP: echo  "<select name=\"selRubros\" size=\"1\" id=\"selRubros\" onChange=\"ComponerLista(document.forms.frmCargaAviso.selRubros[selectedIndex].value);\">" ;                                   $sql  =  ...
  #1 (permalink)  
Antiguo 27/10/2005, 14:08
 
Fecha de Ingreso: abril-2005
Mensajes: 475
Antigüedad: 12 años, 8 meses
Puntos: 3
Guardar el valor de una lista desplegable

Hola, tengo cargado en una lista desplegable datos que estan en una tabla, el código es:
Código PHP:
echo "<select name=\"selRubros\" size=\"1\" id=\"selRubros\" onChange=\"ComponerLista(document.forms.frmCargaAviso.selRubros[selectedIndex].value);\">";
            
                    
$sql "SELECT * FROM rubros ORDER BY Nombre_Rubro ASC";
                    
$recat mysql_query($sql$conexion);
                    
$primero $ficat["Codigo"];
                    
$primero 1;
                    while (
$ficat mysql_fetch_array($recat$conexion))     {

                    if (
$primero == 1)     {
                        echo 
"<option value='"; echo $ficat["Codigo"]; echo "' selected>"$primero 0
                                        }
                    else                 {
                        echo 
"<option value='"; echo $ficat["Codigo"]; echo "'>"
                                        }
                        echo 
$ficat["Nombre_Rubro"]; echo "</option>";
                                                                            }
  </
select
hasta acá todo anda bien, el tema es que no sé cómo puedo guardar el valor elegido por el usuario. Intenté de esta forma pero no funciona:

$result=mysql_query("INSERT INTO Avisos (Aviso,Codigo_Rubro) VALUES ('$aviso',selRubros.value) ",$conexion);

En el campo Codigo_Rubro me guarda el valor cero.

Gracias por las respuestas.
Javier

Última edición por jam1138; 27/10/2005 a las 16:35 Razón: Procuren colorear código
  #2 (permalink)  
Antiguo 27/10/2005, 14:31
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
No puedes mezclar el código php con el javascript ya que uno se ejecuta del lado del servidor y otro del lado del cliente. Digamos que lo que tú hagas en el navegador no lo puede saber el servidor y actuar en consecuencia. Así pues tendrías que hacer un submit del formulario y después recoger el valor de la opción seleccionada por el usuario. También tienes la posibilidad de usar "remote scripting". Si haces una búsqueda en forosdelweb encontrarás muchos ejemplos de como hacerlo con esa técnica.
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #3 (permalink)  
Antiguo 27/10/2005, 15:46
 
Fecha de Ingreso: abril-2005
Mensajes: 475
Antigüedad: 12 años, 8 meses
Puntos: 3
Yo tengo hecho un submit. ¿Cómo hago para tomar el valor de la lista desplegable y no el texto elegido?

Gracias
  #4 (permalink)  
Antiguo 27/10/2005, 16:03
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 15 años, 5 meses
Puntos: 125
Lo que debes hacer es validar el valor del POST (si haces submit) con el valor del FOR..!!
SI valorpost = contadorFOR SELECTED

eso..!
  #5 (permalink)  
Antiguo 27/10/2005, 16:29
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 12 años, 4 meses
Puntos: 0
Este post puede ayudarte

http://www.forosdelweb.com/f18/option-345427/
  #6 (permalink)  
Antiguo 27/10/2005, 16:45
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
ci2000: De verdad ayuda mucho si coloreas tu código... se lee mucho mejor, permite identificar bloques de código y posibles errores de sintaxis además de que no rompe la estructura del sitio si este es muy largo (no es tu caso pero es común verlo). Ve el enlace de mi firma.

Cita:
Iniciado por living
No puedes mezclar el código php con el javascript ya que uno se ejecuta del lado del servidor y otro del lado del cliente.
.. quizá fue una confución... me permití editar el mensaje para colorear el código pués personalmente tampoco lo veia claro... pero una vez arreglado eso, cabe aclarar que el código JavaScript es para PHP una simple cadena que ha de ser enviada al cliente. No hay tal "mezcla" de código.

Cita:
¿Cómo hago para tomar el valor de la lista desplegable y no el texto elegido?
... ¿osea que ahora tomas el "texto elegido"??; ¿cómo es eso?, ¿cuál texto?... .

Para capturar el valor que se haya seleccionado en un listbox se hace lo como si se capturara cualquier otro elemento de un formulario: usando $_POST ó $_GET según el method de dicho formulario y usando como key el name del elemento:
Código PHP:
echo $_POST['name_del_listbox']; 
www.php.net/variables.external

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 27/10/2005, 17:25
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
Me refería a
Código PHP:
$result=mysql_query("INSERT INTO Avisos (Aviso,Codigo_Rubro) VALUES ('$aviso',selRubros.value) ",$conexion); 
aunque la sintaxis no es correcta yo creo que selRubros.value en ese caso es código javascript.
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #8 (permalink)  
Antiguo 27/10/2005, 17:35
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por living
aunque la sintaxis no es correcta yo creo que selRubros.value en ese caso es código javascript.
Cierto, muy cierto... ¿Dónde abran quedado mis lentes? ...

Paz, amor y baile!

Edito:
En el mensaje anterior dije cómo capturar el valor seleccionado... es lo que debes guardar, es lo que debes meter en la query así como $aviso.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #9 (permalink)  
Antiguo 27/10/2005, 17:42
 
Fecha de Ingreso: abril-2005
Mensajes: 475
Antigüedad: 12 años, 8 meses
Puntos: 3
Bien, lo hice funcionar gracias a Uds. (la verdad es que soy novato y a veces me hago un lío).

Muchas gracias por las respuestas.
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:45.