Foros del Web » Programando para Internet » PHP »

Capturar el valor completo de un SELECT

Estas en el tema de Capturar el valor completo de un SELECT en el foro de PHP en Foros del Web. Buenos días! A lo mejor es un problema muy tonto, pero llevo dias intentando solucionarlo y no lo consigo. Tengo un formulario de registro de ...
  #1 (permalink)  
Antiguo 16/09/2014, 04:29
 
Fecha de Ingreso: julio-2007
Mensajes: 28
Antigüedad: 16 años, 9 meses
Puntos: 0
Capturar el valor completo de un SELECT

Buenos días!

A lo mejor es un problema muy tonto, pero llevo dias intentando solucionarlo y no lo consigo.

Tengo un formulario de registro de usuarios, y en el un 'select' para que escojan su pais. Este select lo cargo desde una tabla 'paises' de mi base de datos y se muestran bien dentro del desplegable.

A la hora de seleccionarlo y guardar el valor a la base de datos es donde surge mi problema. Si el pais contiene solo una palabra, lo guarda perfectamente; pero cuando el pais es de mas de una palabra, solo me guarda la primera palabra. Ejemplos: Estados Unidos America --> Me guarda 'Estados'; Gran Bretaña --> Me guarda 'Gran'.

Ideas de que hago mal? El formulario lo mando por 'Post', y en la funcion que lo trata lo capturo de la siguiente manera:

$pais=$_POST["nombre_pais"];

Donde nombre_pais es el nombre que le he dado yo al campo select del formulario.

Que hago mal?
Si falta mas informacion no hace falta mas que pedirmela.

Gracias mil por la atencion!
  #2 (permalink)  
Antiguo 16/09/2014, 06:23
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Capturar el valor completo de un SELECT

Es dificil sin ver el código, pero al menos basandome en el problema creo que lo que falta es poner comillas alrededor del valor del atributo valor de la opcion, por ejemplo:

<select>
<option value=Gran bretaña>Gran bretaña</option>
<option value=Estados unidos>Estados unidos</option>
</select>

En este ejemplo solo entregará el valor "Gran" o "Estados", ya que el navegador no tiene por que saber donde termina el valor del atributo, para solucionarlo basta con poner comillas delimitandolo:

<select>
<option value="Gran bretaña">Gran bretaña</option>
<option value="Estados unidos">Estados unidos</option>
</select>

Revisa si es eso, espero te sirva
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #3 (permalink)  
Antiguo 16/09/2014, 08:15
 
Fecha de Ingreso: julio-2007
Mensajes: 28
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Capturar el valor completo de un SELECT

Hola Stramin!
Voy a mirar de subir el codigo enseguida.
De todos modos, lo que me comentas solo me serviria si los valores del select los cargara a traves de codigo, pero para mi caso, que lo subo desde una tabla no le puedo poner las comillas.
Lo curioso es que en el select, cuando se despliega, si que me aparecen todas las palabras.
  #4 (permalink)  
Antiguo 16/09/2014, 08:22
 
Fecha de Ingreso: julio-2007
Mensajes: 28
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Capturar el valor completo de un SELECT

Añado trozo de codigo:

<label>Pais:</label>&nbsp
<?php
$SQLPaises = "select * from paises";
$RESULTADOPaises=mysql_query($SQLPaises);
?>

<select name='usuario_pais' style="width:346px" >
<option value="off" selected="selected"></option>
<?php
while($FILA=mysql_fetch_array($RESULTADOPaises))
{
echo "<option value=$FILA[nombrePais]>$FILA[nombrePais]";
}
?>
</select>

//Con esto consigo que me muestre en el desplegable los paises de mi tabla, independientemente de las palabras que tenga.

Lo mando por 'POST' desde el formulario, y luego, en el script que lo procesa lo almaceno de la siguiente manera:

$pais=$_POST["usuario_pais"];

Y una vez hago el insert en la tabla usuarios, solo me guarda la primera palabra.

Suficiente informacion?

Si necesitais mas subo lo que se me pida!

Gracias!
  #5 (permalink)  
Antiguo 16/09/2014, 14:37
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Capturar el valor completo de un SELECT

Siguen faltando las comillas, puedes usar comillas simples en el caso de no poder poner comillas dobles, así:

echo "<option value='$FILA[nombrePais]'>$FILA[nombrePais]";
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #6 (permalink)  
Antiguo 17/09/2014, 05:59
 
Fecha de Ingreso: julio-2007
Mensajes: 28
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Capturar el valor completo de un SELECT

Solucionado!
Eres un artista!!!

Muchas gracias Stramin! Las comillas simples solucionaron el problema!!!

Ole ole y ole!!!

Se puede cerrar el tema. Todo resuelto!!!
:apla uso:

Etiquetas: completo, formulario, registro, select, tabla, usuarios, valor
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 11:58.