Estimados amigos,
He detectado que al parecer el código enviado por SISM82, no logre mi objetivo, o en caso contrario no sé como aplicarla a mi caso. La idea es que no solo al elegir un combo se logre cubrir las opciones relacionadas con el primero, también requiero que sea a la inversa también:
Si escojo del combo 1, la opción a... entonces del combo 2 deben aparecer las relacionadas (dentro de la bd) con a. Pero si escojo antes una opción del combo 2, la opción b.1, también debe ser capaz de obtener en el combo 1 la opción b que está relacionada dentro de la base.
Voy a colocar todo el código que tengo implementado, para ver si SISM o alguien puede revisar y darme alguna idea.
Código
=====
<?
$IdConect= mysql_connect( $Maquina, $Usuario, $Password );
if (!$IdConect)
{
echo "Error en la conexión con MySQL";
exit();
}
?>
<html>
<head>
<title>.::agencias/ clientes::.</title>
<script language="JavaScript" type="text/JavaScript">
function cambia()
{
tipo_region = document.getElementById("region_agencia").value;//obtengo el valor del primer select(opciones principales)
tipo_comuna = document.getElementById("comuna_agencia");//hago referencia a el select de nombres
cuantos = tipo_comuna.length;//obtegno su extensión(cuantas opciones tiene)
for(i = 0; i < cuantos; i++)
tipo_comuna.options.remove(0);//elimino las actuales
switch(tipo_region)
{
<?
while($tipoJs = mysql_fetch_object($TablaJss))
{
?>//mientras haya tipos, genera opciones
case '<?php echo $tipoJs->region_agencia; ?>':
<?
$sqlOpciones = "SELECT comuna_agencia FROM agencias WHERE region_agencia = ".$tipoJs->region_agencia;
$rssOpciones = mysql_db_query($Database, $sqlOpciones, $IdConect);
while($opcion = mysql_fetch_object($rssOpciones))
{
?>
opcion<? echo $opcion->comuna_agencia; ?> = document.createElement("option");
opcion<? echo $opcion->comuna_agencia; ?>.text = "<?php echo $opcion->comuna_agencia; ?>";
comuna_agencia.options.add(opcion<? echo $opcion->comuna_agencia; ?> );
<?
}
?>
break;
<?
}
?>
default://si no selecciono niguna, deja la opcion default
defaultOp = document.createElement("option");
defaultOp.text = "Primero seleccione Tipo de Alimento";
defaultOp.value = "0";
comuna_agencia.options.add(defaultOp);
break;
}
return true;//siempre es bueno que las funciones te devuelvan algun valor, aunque no tenga utilidad directa
}
/* tipo = document.getElementById('$region_agencia').value;
names = document.getElementById("comuna_agencia");
cuantos =
while (oCntrl.length) oCntrl.remove(0);
switch (document.agencias_clientes.region_agencia.selecte dIndex)
{
<?
$SQLQuery = "select distinct(comuna_agencia) from agencias where region_agencia = '$region_agencia' order by 1";
$Tabla=mysql_db_query($Database, $SQLQuery, $IdConect);
while ($Registro = mysql_fetch_object($Tabla))
{
$comuna_agencia = $Registro->comuna_agencia;
?>
<option value="<?=$comuna_agencia?>"><?=$comuna_agencia?></option>
<?
}
?>
</select></td>
}*/
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<form name="resultados_agencias_clientes" method="POST" action="ResultadosAgenciasClientes.php" onSubmit="return valida_busqueda(this);">
<body bgcolor="#FFFFFF" text="#000000" link="#993300">
<div align="left"></div>
<table width="79%" border="0">
<tr>
<td bgcolor="#CCCCCC"> </td>
</tr>
</table>
<table width="79%" border="0" align="left">
<tr>
<td height="268">
<table width="99%" border="0" align="center" bgcolor="#FFFFFF">
<tr>
<td colspan="2" bgcolor="#FFFFFF"><font size="2" face="Geneva, Arial, Helvetica, san-serif"><img src="file:///D|/Proyecto%20Web/pantallas/Web_24032004/Web%201/Barras/Agencia-clientes.gif" width="601" height="21"></font></td>
</tr>
<tr>
<td height="18" colspan="2" bgcolor="#FFFFFF">
<div align="left"><img src="file:///D|/Proyecto%20Web/pantallas/Web_24032004/Web%201/Barras/Especifica.gif" width="601" height="21"></div>
</td>
</tr>
<tr>
<td bgcolor="#FCF3D8">
<div align="center"><font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">Rut
de Agencia</font> <font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">
<select name="rut_agencia">
<option selected></option>
<?
$SQLQuery = "select distinct(rut_agencia) from agencias order by 1";
$Tabla=mysql_db_query($Database, $SQLQuery, $IdConect);
while ($Registro = mysql_fetch_object($Tabla))
{
$rut_agencia = $Registro->rut_agencia;
?>
<option value="<?=$rut_agencia?>"><?=$rut_agencia?></option>
<?
}
?>
</select></td>
</font></div>
</td>
<td bgcolor="#FCF3D8">
<div align="center"><font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">Código
de Agencia</font> <font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">
<select name="codigo_agencia">
<option selected></option>
<?
$SQLQuery = "select codigo_agencia from agencias order by 1";
$Tabla=mysql_db_query($Database, $SQLQuery, $IdConect);
while ($Registro = mysql_fetch_object($Tabla))
{
$codigo_agencia = $Registro->codigo_agencia;
?>
<option value="<?=$codigo_agencia?>"><?=$codigo_agencia?></option>
<?
}
?>
</select></td>
</font></div>
</td>
</tr>
<tr>
<td colspan="2" bgcolor="#FCF3D8"><font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">
<div align="center">Nombre de Agencia<font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">
<select name="nombre_agencia">
<option selected></option>
<?
$SQLQuery = "select nombre_agencia from agencias order by 1";
$Tabla=mysql_db_query($Database, $SQLQuery, $IdConect);
while ($Registro = mysql_fetch_object($Tabla))
{
$nombre_agencia = $Registro->nombre_agencia;
?>
<option value="<?=$nombre_agencia?>"><?=$nombre_agencia?></option>
<?
}
?>
</select></td>
</font></div>
</font></td>
</tr>
</table>
<table width="99%" border="0" align="center" bgcolor="#FFFFFF">
<tr bgcolor="#FFFFFF">
<td colspan="3" bgcolor="#FCF3D8">
<div align="center"><font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">Seleccione
sólo un criterio de busqueda.
<input type="submit" name="Submit" value="Buscar">
</font></div>
</td>
</tr>
</table>
<div align="right"></div>
<table width="80%" border="0" align="center">
<tr>
<td>
<table width="99%" border="0" align="center" bgcolor="#FFFFFF">
<tr>
<td height="18" colspan="2" bgcolor="#FFFFFF">
<div align="left"><font face="Geneva, Arial, Helvetica, san-serif" size="2"><img src="file:///D|/Proyecto%20Web/pantallas/Web_24032004/Web%201/Imagenes/linea.gif" width="601" height="21"></font></div>
</td>
</tr>
<tr>
<td height="18" colspan="2"><img src="file:///D|/Proyecto%20Web/pantallas/Web_24032004/Web%201/Barras/General.gif" width="601" height="21"></td>
</tr>
<tr>
<td bgcolor="#FCF3D8">
<div align="center"><font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">Región
</font> <font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">
<select name="region_agencia" onChange="cambia()">
<option selected></option>
<?
$SQLQuery = "select distinct(region_agencia) from agencias order by 1";
$Tabla=mysql_db_query($Database, $SQLQuery, $IdConect);
$TablaJss=mysql_db_query($Database, $SQLQuery, $IdConect);
while ($Registro = mysql_fetch_object($Tabla))
{
$region_agencia = $Registro->region_agencia;
?>
<option value="<?=$region_agencia?>"><?=$region_agencia?></option>
<?
}
?>
</select></td>
</font></div>
</td>
<td bgcolor="#FCF3D8">
<div align="center"><font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">Comuna</font>
<font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">
<select name="comuna_agencia" onChange="cambia()">
<option selected></option>
<?
$SQLQuery = "select distinct(comuna_agencia) from agencias order by 1";
$Tabla=mysql_db_query($Database, $SQLQuery, $IdConect);
while ($Registro = mysql_fetch_object($Tabla))
{
$comuna_agencia = $Registro->comuna_agencia;
?>
<option value="<?=$comuna_agencia?>"><?=$comuna_agencia?></option>
<?
}
?>
</select></td>
</font></div>
</td>
</tr>
<tr>
</table>
</body>
</html>
Gracias.
__________________ Saludos,
MAC |