Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/01/2007, 20:25
RAFLESS
 
Fecha de Ingreso: octubre-2006
Mensajes: 27
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Problema con codigo de Combos dependientes

Que onda nano y gurrutello, estuve checando eso del mysql_num_rows y vi que también se puede poner como lo tengo en el codigo, bueno la cosa es que lo puse como me dijeron pero me sigue saliendo el mismo error, abajo les pongo el codigo para ver si me pueden ayudar a encontrar el error o k jale el codigo.

Código:
$servidor = 'localhost'; 
$usuario = 'root'; 
$contrasena =''; 
$datos = 'docencia'; 
mysql_connect($servidor,$usuario,$contrasena); 
mysql_select_db($datos) or die("No se pudo establecer la Conexión"); 
?>
<html>
  <head>
<title>Documento sin t&iacute;tulo</title>
...
...
...
    <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.forms[formulario])  // Establecemos por defecto el nombre formulario pasado para toda la función.
        {
          var centro = c_unidades[c_unidades.selectedIndex].value; // Valor seleccionado en el primer combo.
          var n = c_profesores.length;  // Numero de líneas del segundo combo.
          
       c_profesores = false;  // Activamos el segundo combo.
          
          for (var i = 0; i < n; ++i)
            c_profesores.remove(c_profesores.options[i]); // Eliminamos todas las líneas del segundo combo.
          
          c_profesores[0] = new Option("Seleccione Docente", 'null'); // Creamos la primera línea del segundo combo.
          
          if (centro != 'null')  // Si el valor del primer combo es distinto de 'null'.
          {
   <?php
   // CODIGO PHP
    // Para cada centro, construimos el segundo combo con los empleados del mismo.
    

$cons_cen = mysql_query("SELECT * FROM uni_academica");
    
    for ($l = 0; $l < mysql_num_rows($cons_cen); ++$l)
    {
     $cen = mysql_fetch_object($cons_cen, $l);
   ?>
            if (centro == '<?php echo $cen->c_unidad;?>')
            {
    <?php
    // CODIGO PHP
      // Construimos los valores del segundo combo con los empleados del centro.
      $cons_emp =mysql_db_query("docencia","select * from profesor WHERE c_unidad = ".$cen->c_unidad." ORDER BY nom_profesor;"); 
      
      for ($m = 0; $m < mysql_num_rows($cons_emp); ++$m)
      {
       $emp = mysql_fetch_object($cons_emp, $m);
    ?>
              c_profesores[c_profesores.length] = new Option("<?php echo $emp->nom_profesor;?>", '<?php echo $emp->c_unidad;?>');
    <?php
    // CODIGO PHP
      }
    ?>
            }
   <?php
   // CODIGO PHP
    }
   ?>
c_profesores.focus(); // Enviamos el foco al segundo combo.
}
else // El valor del primer combo es 'null'.
{
c_profesores.disabled = true; // Desactivamos el segundo combo (que estará vacío).
c_unidades.focus(); // Enviamos el foco al primer combo.
}

c_profesores.selectedIndex = 0; // Seleccionamos el primer valor del segundo combo ('null').
}
}
</script>
</head>
<body>
<table>
<tr>
<td>
<form name="datos" method="post" action="...">
...
...
...
<select name="c_unidades" onChange="rellenaCombo('datos');">
<option value="null" selected>Seleccione Unidad Académica
<?php
// CODIGO PHP
// Contruimos el primer combo con los valores de la tabla 'centros'.
$cons_centros = mysql_db_query("docencia","select * from uni_academica");

for ($k = 0; $k < mysql_num_rows($cons_centros); ++$k)
{
$centro = mysql_fetch_object($cons_centros,$k);
echo " <option value=\"".$centro->c_unidad."\">".$centro->nom_unidad."\n";
}
?>
</select>
</td>
<td>
<select name="c_profesores" disabled>
<option value="null">Seleccione Docente
</select>
</td>
</form>
...
...
...
</tr>
...
...
...
</table>
</body>
</html>
Sin más por el momento espero su respuesta