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"]; ?>) Pertenece a la categoría:
| |