Problema con combos dependientes

Que tal.
tenfo un problema en un formulario tengo dos combos y el segundo depende del valor que seleccione en el primero. Ambos están en una base de datos mysql con las tablas países y departamentos.
Como hago para que el segundo recargue la página manteniendo el primer valor del combo seleccioando y me muestre solo los valores dependientes de este en el segundo combo.
Para después poderlos ingresar en otra tabla de solicitudes.
Gracias.

1 respuesta

Respuesta
1
Solo tienes que usar las variables del formulario que ya estén rellenar. Por ejemplo puedes usar un código similar al siguiente:
<html> <head> <title> Combos </title> </head> <body>
<form name='formulario' method='POST'>
<?php
$paisSel = $_POST['pais'];
//mysql_connect
//mysql_select_db
$consulta = "SELECT * FROM Paises";
$datos = mysql_query( $consulta );
echo "<select name='pais'>";
while( $unPais = mysql_fetch_array($datos) ) {
if($paisSel == $unPais['nombre']) {
echo "<option value='{$unPais['nombre']}' SELECTED>{$unPais['nombre']}</option>";
} else {
echo "<option value='{$unPais['nombre']}'>{$unPais['nombre']}</option>";
}
}
echo "</select>";
echo "<select name='departamento'>";
if ( isset($_POST['pais']) ) {
$consulta = "SELECT * FROM Departamentos WHERE Pais = $paisSel";
$datos = mysql_query( $consulta );
while( $unDep = mysql_fetch_array($datos) ) {
echo "<option value='{$unDep['nombre']}'>{$unDep['nombre']}</option>";
}
}
echo "</select>";
//mysql_close
?>
<input type='submit' value='Enviar'>
</form>
</body>
</html>
Primero coges el país seleccionado en el combo, que la primera vez estará vacío. Buscas en la base de datos todos los países y rellenas el combo de países. En el país seleccionado tienes que ponerle la opción selected.
Luego pones el combo de los departamentos. Si ya se ha seleccionado un país, buscas en la base de datos todos los departamentos de ese país, en caso de no haber país, el combo estará vacío.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas