PHP - Busqueda de datos en cascada con Select

 
Vista:
sin imagen de perfil
Val: 41
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Busqueda de datos en cascada con Select

Publicado por nitramara (22 intervenciones) el 01/08/2012 20:31:03
Hola a tod@s... bueno les cuento que hace rato no venia por estos lares a preguntar, pero bueno el buen hijo vuelve a casa... jejejeje
El asunto que me atañe hoy es el siguiente, he deseado hacer una serie de select's que me traigan la info de la base de datos.. algo asi como que si deseo seleccionar un pais, pero este a su vez esta dentro de una region y esta a su vez esta dentro de un continente...

Ejemplo: América - - Sur América - - Colombia Si selecciono América que me despliegue lo de América, si selecciono Sur América que me despliegue únicamente lo de Sur América “Colombia, Perú… etc.” y luego hago lo que deseo con este país..

Lógicamente lo haría igual con las demás..

Para esto he intentado con un codigo pero la verdad no he podido obtener los resultados que busco, alguien me podria tirar unos daticos de ayuda, y asi ver en que la esto defecando..

Muchas gracias

Este es el codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
$servidor  ="localhost";
$usuario   ="root";
$clave     ="";
$basedatos ="base";
 
if (!empty($_POST['enviado'])){
 
echo "Procesando formulario:<br>";
echo "Recibido id_Municipio: ".$_POST['id_Municipio']."<br>";
echo "Recibido id_Colegios: ".$_POST['id_hija'];
 
} else {
 
   $conexion = mysql_connect($servidor, $usuario, $clave) or die(mysql_error());
   mysql_select_db($basedatos, $conexion) or die(mysql_error());
 
   $id_Municipio=$_POST['id_Municipio'];
 
   echo "<Label>  Municipio </Label>";
   echo "<select name=\"id_Municipio\" onChange=\"this.form.submit()\">\n";
   echo "<option value=\"\"> Seleccione Municipio </option>\n";
 
   $SQLconsulta_padre="SELECT * FROM Municipio";
   $consulta_padre = mysql_query($SQLconsulta_padre,$conexion) or die(mysql_error());
 
   While   ($registro_padre=mysql_fetch_assoc($consulta_padre)){
 
	  if ($id_Municipio == $registro_padre['id']){
		echo "<option value=\"".$registro_padre['id']."\" selected>".$registro_padre['item_texto']."</option>\n";
 
	  } else {
		 echo "<option value=\"".$registro_padre['id']."\">".$registro_padre['item_texto']."</option>\n";
	  }
	}
	echo "</select>\n\n";
 
   mysql_free_result($consulta_padre); // Liberar memoria usada por consulta.
   echo "<br>";
   echo "<br>";
   echo "<Label> Institución </Label>";
   echo "<select name=\"Institucion\">\n";
 
   if (!empty($id_Municipio)){
 
	   $SQLconsulta_hija="SELECT * FROM Colegios WHERE id_Municipio='$id_Municipio'";
	   $consulta_hija = mysql_query($SQLconsulta_hija,$conexion) or die(mysql_error());
 
	   if (mysql_num_rows($consulta_hija) != 0){
		  While   ($registro_hija=mysql_fetch_assoc($consulta_hija)){
		echo "<option style=\"font-size:4pt\" value=\"\"></option>";
		echo "<option value=\"".$registro_hija['id']."\" - \"".$registro_hija['id']."\">".$registro_hija['item_texto']."</option>\n";
		   }
 
		} else {
			echo "<option value=\"\"> No hay registros para este Item </option>";
		}
	} else {
		echo "<option value=\"\"> <-- Seleccione Institucion  </option>";
	}
 
	mysql_free_result($consulta_hija); // Liberar memoria usada por consulta.
 
	echo "</select>\n\n";
	echo "<br>";
	echo "<br>";
	echo "<Label> Sede </Label>";
	echo "<select name=\"Sede\">\n";
 
	   if (!empty($id_Municipio)){
 
		   $SQLconsulta_hija1="SELECT * FROM sedes WHERE $id_Municipio='$$id_Municipio'";
		   $consulta_hija1 = mysql_query($SQLconsulta_hija1,$conexion) or die(mysql_error());
 
		   if (mysql_num_rows($consulta_hija1) != 0){
			  While   ($registro_hija1=mysql_fetch_assoc($consulta_hija1)){
				echo "<option value=\"".$registro_hija1['id_sede']."\">".$registro_hija1['item_texto']."</option>\n";
			   }
			} else {
				echo "<option value=\"\"> No hay registros para este Item </option>";
			}
		} else {
			echo "<option value=\"\"> <-- Seleccione Institucion  </option>";
		}
 
		mysql_free_result($consulta_hija1); // Liberar memoria usada por consulta.
 
		echo "</select>\n\n";
	}
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder