Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/10/2008, 16:09
Avatar de Kanyenke
Kanyenke
 
Fecha de Ingreso: octubre-2008
Mensajes: 9
Antigüedad: 15 años, 7 meses
Puntos: 0
Usando SELECT en forms

Buenas! Este es mi primer post en el foro, je... Asi que porfa sean misericordiosos :P

Tengo el siguiente dilema... En un archivo PHP Tengo 3 selects, uno para un pais, otro para una provincia, y otro para una ciudad.

Mi objetivo es que cuando uno elija un país, se cargue de una base de datos mySQL, las provincias de ese país, y de la misma forma se carguen las ciudades al elegirse la provincia; ¡Y no sólo eso! Sino que al "recargar" la página al elegirse algo, se siga manteniendo lo seleccionado.

Que hacía yo? Hacía que el SELECT del cual elegís la provincia, envíe un FORM a la misma página PHP, para que la reciba luego... algo así:

Código:
<form method=post action "otra.php">// Este post envía la info para que se suba a la base de datos
<form method=post action "misma.php"> // Esta es la que "recarga" la página y envía los datos del país elegido para cambiar la provincia, ciudad, etc.
<select name="ciudad" onChange="this.form.submit()" >//Uso this.form.submit() para que cuando elija se aplique el formulario
<option value= "0">Todos los países</option>
				<?php
				$link = mysql_connect("localhost", "asd", "pass");
				mysql_select_db("DB", $link);
				$pais = $_POST["pais"];
				$sql = mysql_query ("SELECT DISTINCT pais FROM lugares ORDER BY pais ASC ");
				While($row=mysql_fetch_array($sql))
				{
				if ($pais == $row[pais]) //Acá hago este if para "devolver" la opción checkeada antes de la recarga.
				{
				echo '<option selected="selected" value="'.$row[pais].'">'.$row[pais].'</option>';
				} else {
				echo '<option value="'.$row[pais].'">'.$row[pais].'</option>';
				}
				}
				?>
</select>
</form>
</form>
Parece sólido no? Gracias gracias (humiladad aparte xD).
El hecho es que, como verán al principio, tengo dos etiquetas FORM... Una, la que manda la info... y la otra, la que envía a la misma página y permite, a travez de variables con POST, averiguar que país eligió, y elegir las provincias de la base de datos en consecuencia...


Cual es el problema? El
Código:
<select name="ciudad" onChange="this.form.submit()" >
En vez de tomarme el "misma.php" me toma el del FORM más anterior, el "otra.php"!

Como hago que tome el form que estáams cerca de él?

Alguna sugerencia para hacer ésto de "mostrar en el select algo según la opción elegida en otro select" más practicamente?

Gracias a todos! :)