Error en tu código publicado por inphyx

Se que el error es mio y no tuyo pero quería que lo leyeras para que me pusieras un poquito de atención
ayudame por favor dime porque surge mi error o como lo soluciono
Espero tu ayuda este es mi código y mis tablas
Tablas
uni_academica
c_unidad, nom_unidad
profesor
c_profesor
nom_profesor
c_unidad ke es la liga a la tabla uni_academica
mi codigo es el siguiente
<?php
//conexión a mysql
$conexion = mysql_connect(localhost,rafael,rafa) or die(mysql_error());
mysql_select_db(docencia, $conexion) or die(mysql_error());
//seleccionamos las opciones del select principal
$sql = "SELECT c_unidad,nom_uniad FROM uni_academica ORDER BY nom_unidad";
$res = mysql_query($sql);
//obtenemos el número de registros
$num = mysql_num_rows($res);
?>
<!--<FORM name="encuesta" method="POST">-->
<!--Combo principal-->
<select name="unidadacademica" onChange="redirect(this.options.selectedIndex)" style='width:160'>
<option selected value=0>Selecciona la Unidad Académica</option>
<?
for($i=0;$i<$num;$i++) {
$c_unidad[$i] = mysql_result($res,$i,0);
$nom_unidad[$i] = mysql_result($res,$i,1);
echo "<option value='$c_unidad[$i]'>$nom_unidad[$i]</option>";
}
?>
</select>
<!--Combo dinámico-->
<select name="docente" style='width:160'>
<option selected value=0>Selecciona el Docente</option>
</select>
</FORM>
<?
echo "<script><!--";
echo "var groups=".$num;
echo "var group=new Array(groups)";
//Crea tantos arrays como valores hay en el combo principal
echo "for (i=0; i<groups; i++) group=new Array()";
//Opciones cuando no se ha hecho ninguna selección en el combo principal-->
echo "group[0][0]=new Option('Selecciona el Docente','0');";
for($i=0;$i<$num;$i++) {
$sql = "SELECT c_profesor, nom_profesor FROM profesor WHERE c_unidad = $c_unidad[$i]";
$res = mysql_query($sql);
//Obtenemos el número de modelos para esa marca
$num2 = mysql_num_rows($res);
for($j=0;$j<$num2;$j++) {
$c_profesor = mysql_result($res,$j,0);
$nom_profesor = mysql_result($res,$j,1);
//Opciones para la opción $i del combo principal
echo "group[$num][$j]=new Option('$nom_profesor','$c_profesor')";
}
}
?>
var temp=document.form1.docente
function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options=new Option(group[x].text,group[x].value)
}
temp.options[0].selected=true
}
//-->
</script>
Mi error es que no me sale nada en el combo dependiente o hijo
Utilizo php
Mysql
DWmx2004

1 respuesta

Respuesta
1
Así a grandes rasgos es complicado analizar el posible problema, yo por lo normal, directamente te diría que analizaras la SQL en el phpmyadmin (o tu gestor habitual de base de datos) para saber si devuelve los resultados correctos. No obstante por lo que deseas hacer, te recomendaría que echaras un vistazo a "AJAX" que sería tu respuesta para analizar SELECTs hijos dependientes de la selección de uno superior.
Al principio te resultará un poco raro, pero cuando lo hagas funionar por primera vez lo tendrás todo hecho.
Aquí te dejo una página donde lo puedes conseguir tanto el ejemplo como los códigos.
http://www.desarrolloweb.com/articulos/2279.php
A tanto como a ayudarte con el código no puedo, estoy muy liado con el tiempo justo, que no podría serte de gran ayuda, esto lo hago todo por amor al arte.
No obstante desde l págin que te indiqué te tienen todos los códigos perfectamente documentados y explicados.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas