PHP - 3 selects dependientes

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

3 selects dependientes

Publicado por Unexes (124 intervenciones) el 08/08/2012 12:02:48
Hola a tod@s, necesito vuestra ayuda.

Vereis siguiendo un tutorial he hecho estos 3 selects dependientes que funcionan perfectamente y cuyo código completo pongo a continuación para que lo utilice quien lo necesite.
El motivo de dirigirme a vosotr@s es que debido a mis escasos conocimientos no se mejorarlo y me gustaria hacerlo ya que he comprobado que hay mucha información en la red pero ciertas cosas que para algunos son sencillas, para otros como yo resultan complicadas y no se esplican bien es por eso que preciso vuestra ayuda.
1º) Vereis necesito obtener: 3 variables una que corresponda al pais seleccionado, otra a la provincia seleccionada y otra a la población con el fín de utilizarlas luego en una consulta. y no se como sacarlas y pasarlas a la página "Principal.php".

Página "Principal.php"
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
<script type="text/javascript" language="javascript" src="Funciones.js"></script>
 
<?php
        require_once('../Connections/ConexionInmobiliaria.php');
        $selpoblacion = isset($_GET["selpoblacion"])? $_GET["selpoblacion"]: '';
        $selprovincia = isset($_GET["selprovincia"])? $_GET["selprovincia"]: '';
?>
<body onLoad="limpiar()">
<FORM NAME="form1">
<div id="ContPais">
  <div id="NomPais"><font color="#666666" style=" font-family:Verdana, Geneva, sans-serif; font-weight:bold; font-size:10pt">Seleccionar Lugar:</font></div>
  <div id="SelPais">
<?php
$sql="select* from pais order by pais asc";
$res=mysql_query($sql,$conexion);
?>
<select name="selpais" onChange="from(document.form1.selpais.value,'SelProvincia','Provincias.php')" id="selpais" size="1" class="Guias2">
<option value="0">Seleccione el pais</option>
<?php
while ($reg=mysql_fetch_array($res))
{
?>
<option value="<?php echo $reg["id"];?>"><?php echo $reg["pais"];?></option>
<?php
    }
?>
</select>
</div>
<div id="SelProvincia">
<select name="selprovincia" id="selprovincia" size="1" class="Guias2">
<option value="0">Seleccione la provincia</option>
</select>
</div>
  <div id="SelPoblacion">
<select name="selpoblacion" id="selpoblacion" size="1" class="Guias2">
<option value="0">Seleccione la población</option>
</select>
</div>
</div>
</FORM>
</body>



Página "Provincias.php"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
require_once('../Connections/ConexionInmobiliaria.php');
header("Content-Type: text/html;charset=iso-8859-1");
 
 
$sql="select* from provincias where Cod_Pais=".$_GET["id"]." order by Provincia asc";
$res=mysql_query($sql,$conexion);
?>
<select name="selprovincia" onChange="from(document.form1.selprovincia.value,'SelPoblacion','Poblaciones.php')" id="selprovincia" size="1" class="Guias2">
<option value="0">Seleccione la provincia</option>
 
<?php
while ($reg=mysql_fetch_array($res))
{
?>
<option value="<?php echo $reg["id"];?>"><?php echo $reg["Provincia"];?></option>
<?php
    }
?>
 
</select>



Página "Poblaciones.php"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
require_once('../Connections/ConexionInmobiliaria.php');
header("Content-Type: text/html;charset=iso-8859-1");
 
 
$sql="select* from poblaciones where Cod_Provincia=".$_GET["id"]."";
$res=mysql_query($sql,$conexion);
?>
<select name="selpoblacion" id="selpoblacion" size="1" class="Guias2">
<option value="0">Seleccione la población</option>
 
<?php
while ($reg=mysql_fetch_array($res))
{
?>
<option value="<?php echo $reg["id"];?>"><?php echo $reg["Poblacion"];?></option>
<?php
    }
?>
 
 
</select>



Página código javascript: "Funciones.js"
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
function obtiene_http_request()
{
var req = false;
try
  {
    req = new XMLHttpRequest(); /* p.e. Firefox */
  }
catch(err1)
  {
  try
    {
     req = new ActiveXObject("Msxml2.XMLHTTP");
  /* algunas versiones IE */
    }
  catch(err2)
    {
    try
      {
       req = new ActiveXObject("Microsoft.XMLHTTP");
  /* algunas versiones IE */
      }
      catch(err3)
        {
         req = false;
        }
    }
  }
return req;
}
var miPeticion = obtiene_http_request();
//***************************************************************************************
function from(id,ide,url){
        var mi_aleatorio=parseInt(Math.random()*99999999);//para que no guarde la página en el caché...
        var vinculo=url+"?id="+id+"&rand="+mi_aleatorio;
        //alert(vinculo);
        miPeticion.open("GET",vinculo,true);//ponemos true para que la petición sea asincrónica
        miPeticion.onreadystatechange=miPeticion.onreadystatechange=function(){
               if (miPeticion.readyState==4)
               {
                   //alert(miPeticion.readyState);
                       if (miPeticion.status==200)
                       {
                                //alert(miPeticion.status);
                               //var http=miPeticion.responseXML;
                               var http=miPeticion.responseText;
                               document.getElementById(ide).innerHTML= http;
 
                       }
               }/*else
               {
            document.getElementById(ide).innerHTML="<img src='ima/loading.gif' title='cargando...' />";
 
                }*/
       }
       miPeticion.send(null);
 
}
//************************************************************************************************++
function limpiar()
{
    document.form1.reset();
 
}

Si alguien puede ayudarme para obtener de este código: 3 variables una que corresponda al pais seleccionado, otra a la provincia seleccionada y otra a la población con el fín de utilizarlas luego en una consulta. pues debido a mi falta de dichos conocimientos no se como sacarlas y pasarlas a la página "Principal.php".

Gracias y un saludo.
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