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".
2º) ¿Seria posible poner todo el código en una misma página?.
3ª) Me gustaria que de todos lo valores con los que se rellena cada select aparecieran en cada uno de ellos un valor por defecto pero que me permitira poder seleccionar otro de los valores ya que si en la <option value="0">seleccione etc..</option>pongo un valor aparece dicho valor pero no me deja seleccionar otro.
Principal.php
Código PHP:
Ver original<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";
?>
<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
{
?>
<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>
Provincias.php
Código PHP:
Ver original<?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";
?>
<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
{
?>
<option value="<?php echo $reg["id"];?>"><?php echo $reg["Provincia"];?></option>
<?php
}
?>
</select>
Poblaciones.php
Código PHP:
Ver original<?php
require_once('../Connections/ConexionInmobiliaria.php');
header("Content-Type: text/html;charset=iso-8859-1");
$sql="select* from poblaciones where Cod_Provincia=".$_GET["id"]."";
?>
<select name="selpoblacion" id="selpoblacion" size="1" class="Guias2">
<option value="0">Seleccione la población</option>
<?php
{
?>
<option value="<?php echo $reg["id"];?>"><?php echo $reg["Poblacion"];?></option>
<?php
}
?>
</select>
Funciones.js
Código Javascript
:
Ver originalfunction 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();
}
Bueno eso es todo de momento, si podeis ayudarme lo agradeceria.
Gracias a todos