Foros del Web » Programando para Internet » PHP »

Enviar datos en un campo de seleccion

Estas en el tema de Enviar datos en un campo de seleccion en el foro de PHP en Foros del Web. Buenas tardes: Estoy trabajando con php y mysql, y lo que quiero hacer es losiguiente: En la base de datos tengo guardadas los nombres de ...
  #1 (permalink)  
Antiguo 16/01/2008, 13:39
 
Fecha de Ingreso: abril-2006
Mensajes: 128
Antigüedad: 13 años, 10 meses
Puntos: 1
Enviar datos en un campo de seleccion

Buenas tardes:
Estoy trabajando con php y mysql, y lo que quiero hacer es losiguiente:
En la base de datos tengo guardadas los nombres de provincia, y quiero mostrar en un campo de seleccion en html esos nombres. El usuario tendra que elegir un nombre y en funcion de el mostrare una tabla con mas caracteristicas de esa provincia.
Para mostrar las provincias hago lo siguiente:
<form method="post" action="<?PHP echo $PHP_SELF ?>" >
<select name="provincia" size="1">
<option value="elegir_provincia">-Elija provincia </option>
<?php
while($row = mysql_fetch_array($nombre_provincia)){
$provincia=$row['provincia'];
?>
<option value="provincia">

<?php
printf($provincia);
?>
</option>
<?php
}
?>
<input type="submit" name="enviar" value="Enviar datos"/>
</select>
<br><br>
</form>
Hasta hay todo sale bien pero cuando quiero recoger el nombre de la provincia que el usuario ha elegido, pongo lo siguiente:
<?php
if(isset($_POST[enviar])){
echo "provincia $_POST[provincia] <br>";
}
?>
y no me sale nada, o simplemente provincia, pero yo lo que quiero es un nombre de los que estan en la base de datos. El problema creo que es en el formulario en la etiqueta value de option, ¿Que valor tendria que tener? Porque en si debe ser distinto segun el valor de $provincia.
Y otra cosa como podria omitir el boton submit, es decir, en el momento que se seleccione una provincia se recoga directamente el valor, sin necesidad de pinchar en Enviar.
Muchas gracias de antemano.
Mari
http://www.puenteviejo.tk
  #2 (permalink)  
Antiguo 17/01/2008, 06:11
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Enviar datos en un campo de seleccion

Hola maribajar
La base la tenés correcta, aunque yo simplificaría el código si fuera vos:
Arriba del todo, antes del HTML, hacés el while:

Código PHP:
$lista_provincias '';
while(
$row mysql_fetch_array($nombre_provincia))
    
$lista_provincias .= '<option value="">'.$row['provincia']."</option>\n"
y luego, el HTML lo dejás como
Código:
<form method="post" action="<?PHP echo $PHP_SELF ?>" > 
<select name="provincia" size="1"> 
<option value="elegir_provincia">-Elija provincia </option>
<?php echo $lista_provincias; ?>
</select>
En cualquier caso, el problema es que no estás especificando un valor correcto para el atributo value de cada opción, que es lo que se enviará con el formulario.
Si acaso tenés un campo ID para cada provincia, lo ideal es que uses ese campo como valor del option. Si no lo tenés, perfectamente podés usar el nombre mismo, pero tendrías que tener cuidado de que ningún nombre tenga comillas dobles.

En cuanto a la otra opción, la manera más sencilla es usar una función colocada con el evento "onchange" del select. Seguramente en la lista de Preguntas frecuentes del foro de Javascript ya se haya explicado un procedimiento similar.


Saludos.
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 18:14.