dominios y alojamiento web en hostalia

Select Anidados

Hola, esta es mi primera pregunta en el foro, ojala me puedan ayudar. Estoy haciendo un formulario en php en el cual uno de los campos son el ingreso...

La FAQ Select Anidados tiene

Pertenece a la categoría:

Pregunta
Hola, esta es mi primera pregunta en el foro, ojala me puedan ayudar.
Estoy haciendo un formulario en php en el cual uno de los campos son el ingreso de la región y la comuna. Mi idea inicial era hacer el codigo con javascript para que se actualizaran las comunas correspondientes a cada region. Las tablas que mantienen esto en mi BD son las siguientes:

Tabla: Region
Campos: Region_id
Region_nombre

Tabla: Provincia
Campos: Provincia_id
Provincia_nombre
Region_id

Tabla: Comuna
Campos: Comuna_id
Comuna_nonbre
Provincia_id

Si se fijan, lo hice asi porque una región tiene muchas provincias y una provincia tiene muchas comunas. El problema es que en mi pais nadie sabe en que provincia vive, solo saben su región y su comuna. Por lo tanto en el formulario yo queria que al elegir su región salgan todas las comunas de esa region, osea, todas las comunas de las provincias de esa región .
Hice este código que lo modifique de uno que encontré en internet, ojala me puedan ayudar, intente explicar lo mejor que pude.

Código:

<?php
include("funciones.php");
$link=conectarse();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Listas Dinamicas</title>
<script language="javascript">
function ComponerLista(xPro) {
document.forms.frmDatos.selRegiones.disabled = true;
document.forms.frmDatos.selComunas.length = 0;
CargarPropiedades(xPro);
document.forms.frmDatos.selRegiones.disabled = false;
}
function CargarPropiedades(xCiu)
{
var o
document.forms.frmDatos.selComunas.disabled=true;
<?php
$tablaProvincia = mysql_query('SELECT * FROM Provincia ORDER BY Provincia_id ASC');
$tablaComuna = mysql_query('SELECT * FROM Comuna ORDER BY Comuna_id ASC');
while ($registroProvincia = mysql_fetch_array($tablaProvincia))
{
?>
if (xCiu == <?php echo $registroProvincia["Region_id"]; ?>)
{
<?php
while ($registroComuna = mysql_fetch_array($tablaComuna))
{
?>
if (<?php echo $registroComuna["Provincia_id"]; ?> == <?php echo $registroProvincia["Provincia_id"]; ?>)
{
o = document.createElement("OPTION");
o.text = '<?php echo $registroComuna["Comuna_nombre"]; ?>';
o.value = <?php echo $registroComuna["Comuna_id"]; ?>;
document.forms.frmDatos.selComunas.options.add (o);
}
<?php
}
mysql_free_result($tablaComuna);
?>
}
<?php
}
mysql_free_result($tablaProvincia);
?>
document.forms.frmDatos.selComunas.disabled=false;
}
</script>
</head>
<body>
<form id="frmDatos" name="frmDatos" method="post" action="">
<label>Regiones:
<select name="selRegiones" id="selRegiones" onchange="ComponerLista(document.forms.frmDatos.selRegiones[selectedIndex].value);">
<?php
$tablaRegion = mysql_query('SELECT * FROM Region ORDER BY Region_nombre ASC');
while ($registroRegion = mysql_fetch_array($tablaRegion)) {
?>
<option value="<?php echo $registroRegion['Region_id']; ?>"><?php echo $registroRegion['Region_nombre']; ?></option>
<?php
}
mysql_free_result($tablaRegion);
?>
</select>
</label>
<label>Comunas:
<select name="selComunas" id="selComunas">
</select>
</label>
</form>
</body>
</html>
<?php
mysql_close($link);
?>

PD:creo que el error esta en el segundo if al comparar:
if (<?php echo $registroComuna["Provincia_id"]; ?> == <?php echo $registroProvincia["Provincia_id"]; ?>)


Respuesta de ALBERTOCARLOSS
AHI ECNONTRARAS LA RESPUESTA QUE BUSCAS ES FACILICIMO EN DREAMWEAVER http://www.original-design.es/tutoriales/tutocombo.php

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

Volver al árbol de categoríasVolver al árbol de categorías

Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...