Espero que t sirva, a mi me va bien, es el ejemplo que viene en
las FAQS solo q modificado un poco (practicamente nada).
Código PHP:
<form name="form1" method="post" action="">
<select name="busqueda">
<option value="alquiler">Alquiler</option>
<option value="venta">Venta</option>
<option value="ref">Ref</option>
<option value="provincia">Provincia</option>
</select>
<input type="text" name="palabra">
<?
// Conexión a la BD
$conexion = mysql_connect("localhost", "", "") or die(mysql_error());
mysql_select_db("Tu base de datos", $conexion) or die(mysql_error());
// Obtener el $id_padre del envio a si mismo del formulario ..
if(isset($_POST['idtipo'])){
$idtipo=$_POST['idtipo'];
}
// Inicio Formulario .. PHP_SELF enviamos a si mismo (a este script).
//echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\">\n\n";
// Formar Selec "Padre".
echo "<select name=\"idtipo\" onChange=\"this.form.submit()\">\n";
echo "<option value=\"\"> Seleccione un Item </option>\n";
$SQLconsulta_padre="SELECT * FROM tipo";
$consulta_padre = mysql_query($SQLconsulta_padre,$conexion) or die(mysql_error());
While ($registro_padre=mysql_fetch_assoc($consulta_padre)){
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
// Se selecciona en consecuencia (selected) la opción elegida.
if ($idtipo == $registro_padre['idtipo']){
echo "<option value=\"".$registro_padre['idtipo']."\" selected>".$registro_padre['nombre']."</option>\n";
} else {
echo "<option value=\"".$registro_padre['idtipo']."\">".$registro_padre['nombre']."</option>\n";
}
}
echo "</select>\n\n";
mysql_free_result($consulta_padre); // Liberar memoria usada por consulta.
// Formar Select "Hijo"
echo "<select name=\"idinmu\">\n";
// Si $id_padre no tiene valor (caso de que no se ha seleccionado ningua opcion del select hijo
// se muestra el mensaje de "seleccine un item" (del select padre).
if (!empty($idtipo)){
$SQLconsulta_hija="SELECT * FROM t_inmueble WHERE idtipo='$idtipo'";
$consulta_hija = mysql_query($SQLconsulta_hija,$conexion) or die(mysql_error());
// se mira el total de registros de la consulta .. si es 0 se muestra mensaje en el select ..
if (mysql_num_rows($consulta_hija) != 0){
While ($registro_hija=mysql_fetch_assoc($consulta_hija)){
echo "<option value=\"".$registro_hija['idinmu']."\">".$registro_hija['nombre']."</option>\n";
}
} else {
echo "<option value=\"\"> No hay registros para este Item </option>";
}
} else {
echo "<option value=\"\"> <-- Seleccione un Item </option>";
}
mysql_free_result($consulta_hija); // Liberar memoria usada por consulta.
echo "</select>\n\n";
echo "<input type=\"submit\" name=\"buscar\" value=\" Enviar \" >\n\n";
//echo "</form>\n";
}
?>
</form>
Un saludo