Foros del Web » Programando para Internet » PHP »

Combo no me hace post mas allá de blanco

Estas en el tema de Combo no me hace post mas allá de blanco en el foro de PHP en Foros del Web. Hola. Me permito crear un hilo aunque seguro que es una tonteria mi consulta. Yo quiero realizar una consulta SQL, desde un combo que cargo ...
  #1 (permalink)  
Antiguo 02/10/2012, 02:08
 
Fecha de Ingreso: octubre-2012
Mensajes: 38
Antigüedad: 11 años, 6 meses
Puntos: 0
Combo no me hace post mas allá de blanco

Hola. Me permito crear un hilo aunque seguro que es una tonteria mi consulta.

Yo quiero realizar una consulta SQL, desde un combo que cargo con paises.
Sucede que aunque el combo se me carga bien con los paises, al hacer el post a la nueva página, me pasa solo el elemento seleccionado....hasta el espacio. P.ej, en "Estados Unidos", me pasa "Estados", por lo que mi siguiente consulta me busca por Estados y falla :)

Construyo así el combo

Cita:
$conex=mysql_connect("localhost","root","root");
mysql_select_db("mibd",$conex);
echo '<select name="combopaises">';
$sql="SELECT nombre FROM paises";
$result=mysql_query($sql);
$i=0;
echo "<option value= "."> </option>\n";
while ($row=mysql_fetch_row($result))
{
echo "<option value=".$row[$i].">".$row[$i]."</option>\n";
}
echo "</select>";
Tiene las comillas bien, me construye bien el combo, ¿pero luego por que me pasa solo hasta el espacio? Gracias.

Pueden probar el código con un sencillo index.html

<FORM ACTION="segunda.php" METHOD="post">
País:
--Aquí el PHP que he indicado--
<BR><INPUT TYPE="submit" VALUE="Enviar">


...y un segundo html llamado segunda.php que sea p.ej un sencillo echo $_POST["combopaises"] verán que recibe solo nombres cortados si en su tabla paises tienen una columna nombre que contenga filas como "Estados unidos" "emiratos arabes" etc

En cambio, si lo hago estáticamente sin PHP como puro html,

<select name="combopaises">
<option value= "estados unidos">Estados Unidos</option>
</select>


El echo me muestra debidamente toda la cadena. Por otro lado, haciendolo con PHP, si me carga en el combo bien los elementos al hacer

Cita:
while ($row=mysql_fetch_row($result))
{
echo "<option value=".$row[$i].">".$row[$i]."</option>\n";
}
no entiendo por que luego me los pasa cortados, si claramente $row tiene la cadena debida en cada iteración :(
No lo entiendo, sicneramente, si pudiesen ayudarme...

Última edición por trulari; 02/10/2012 a las 02:45
  #2 (permalink)  
Antiguo 02/10/2012, 05:39
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Combo no me hace post mas allá de blanco

hay un error de comillas
esto
Cita:
<option value=".$row[$i].">
te genera
Cita:
<option value=estados unidos>
así que por ahí puede que venga el problema
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 02/10/2012, 05:42
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Combo no me hace post mas allá de blanco

Agrega una comilla simple antes y despues de introducir el valor de "value"

echo "<option value='".$row[$i]."'>".$row[$i]."</option>\n";

para que el combo quede así

<option value='Estados Unidos'>Estados Unidos</option>
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #4 (permalink)  
Antiguo 03/10/2012, 02:28
 
Fecha de Ingreso: octubre-2012
Mensajes: 38
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Combo no me hace post mas allá de blanco

Si señores, era exactamente eso, muchas gracias.
Fijanse que antes de preguntar estuve leyendo que comillas eran el error mas habitual y estube probando y comprobando y no caí en que el value lleva sus propias comillas dobles :( algo tenia que ser!

Muchas gracias. Nos seguiremos leyendo :)

PD; Increible como en un dia un hilo llega en estos foros a la tercera página :)
  #5 (permalink)  
Antiguo 03/10/2012, 03:34
Avatar de danny_  
Fecha de Ingreso: septiembre-2012
Mensajes: 95
Antigüedad: 11 años, 7 meses
Puntos: 4
Respuesta: Combo no me hace post mas allá de blanco

ademas de las correcciones que indican isa y quim, es conveniente que las funciones mysql, las cambies por las mas actuales, no es de mayor importancia pero si que es recomendable.

Por ejemplo el mysql_connect ya no es recomendable su uso, lo puedes ver en la pagina de php.
Actualmente es correcto usar mysqli_connect('basededatos','$conexion');

Etiquetas: blanco, combo, html, mysql, post, sql, tabla
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 00:14.