Foros del Web » Programando para Internet » PHP »

PRoblemas con este codigo es de combos enlazados

Estas en el tema de PRoblemas con este codigo es de combos enlazados en el foro de PHP en Foros del Web. kiero hacer combos dependientes aki les explico lo ke tengo espero me ayuden solo me rellena el primer combo pero si selecciono la unidad academica ...
  #1 (permalink)  
Antiguo 19/10/2006, 18:25
 
Fecha de Ingreso: octubre-2006
Mensajes: 27
Antigüedad: 18 años, 1 mes
Puntos: 0
PRoblemas con este codigo es de combos enlazados

kiero hacer combos dependientes aki les explico lo ke tengo espero me ayuden
solo me rellena el primer combo pero si selecciono la unidad academica del
primer combo no me muestra los profesores de dicha unidad academica seleccionada
me podrian ayudar a encontrar en error
mis tablas son las siguientes

uni_academica
c_unidad .. ke es la calve la unidad y llave de la tabla
nom_unidad... ke describe el nombre de la unidad
profesores
c_profesor .. ke es la clave del profesor o docente
nom_profesor.. ke describe el nombre del docente
c_unidad... ke es el campo conel ke se relaciona

me base en el codigo de esta pagina pero no me funciona.
espero ke alguien me pueda ayudar a resolver el problema
de antemano gracias y saludos
atte rafa
utilizo DW,PHP y MySQL
<script language="javascript">
// Función que rellena el segundo combo según el valor seleccionado en el primero.
// Se le pasa como parámetro el nombre del formulario desde el cuál se llama a la función,
// de ésta manera podemos llamarlo desde combos con el mismo nombre en una misma página pero
// desde distintos formularios.

function rellenaCombo(formulario)
{
with (document.encuesta[formulario]) // Establecemos por defecto el nombre formulario pasado para toda la función.
{
var unidad = id_unidad[c_unidad.selectedIndex].value; // Valor seleccionado en el primer combo.
var n = id_profesor.length; // Numero de líneas del segundo combo.

id_profesor.disabled = false; // Activamos el segundo combo.

for (var i = 0; i < n; ++i)
id_profesor.remove(id_profesor.options[i]); // Eliminamos todas las líneas del segundo combo.
id_profesor[0] = new Option("Selecciona el Docente", 'null'); // Creamos la primera línea del segundo combo.

if (unidad != 'null') // Si el valor del primer combo es distinto de 'null'.
{
<?php
// CODIGO PHP
// Para cada unidad academica, construimos el segundo combo con los docentes del mismo.
$cons_uni = mysql_query("SELECT * FROM uni_academica");

for ($l = 0; $l < mysql_num_rows($cons_uni); ++$l)
{
$uni = mysql_fetch_object($cons_uni,$l);
?>
if (unidad== '<?php echo $uni->c_unidad;?>')
{
<?php
// CODIGO PHP
// Construimos los valores del segundo combo con los docentes de la unidad
$cons_doc = mysql_query ("SELECT * FROM profesor WHERE c_unidad = ".$uni->c_unidad." ORDER BY nom_profesor;");

for ($m = 0; $m < mysql_num_rows($cons_doc); ++$m)
{
$doc = mysql_fetch_object($cons_doc, $m);
?>
id_profesor[id_profesor.length] = new Option("<?php echo $doc->nom_profesor;?>",'<?php echo $doc->c_profesor;?>');
<?php
// CODIGO PHP
}
?>
}
<?php
// CODIGO PHP
}
?>
id_profesor.focus(); // Enviamos el foco al segundo combo.
}
else // El valor del primer combo es 'null'.
{
id_profesor.disabled = true; // Desactivamos el segundo combo (que estará vacío).
id_unidad.focus(); // Enviamos el foco al primer combo.
}

id_profesor.selectedIndex = 0; // Seleccionamos el primer valor del segundo combo ('null').
}
}
</script>
</head>
<body>
<table>
<tr>
<td>
<form name="encuesta" method="post" action="...">
<select name="id_unidad" onChange="rellenaCombo('encuesta');">
<option value="null" selected>Seleccione Unidad Académica


<?php
// CODIGO PHP
// Contruimos el primer combo con los valores de la tabla 'uni_academica'.
$cons_uniacademica = mysql_query("SELECT * FROM uni_academica");

for ($k = 0; $k < mysql_num_rows($cons_uniacademica); ++$k)
{
$academica = mysql_fetch_object($cons_uniacademica);
echo " <option value=\"".$academica->c_unidad."\">".$academica->nom_unidad."\n";
}
?>
</select>
</td>
<td>
<select name="id_profesor" disabled>
<option value="null">Selecciona el Docente
</select>
</td>
</form>
</tr>
</table>
</body>
</html>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:50.