> Faqs > Select Anidados

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 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(); ?> <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"\]; ?>)

</body></html>

Respuestas

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

ALBERTOCARLOSS