Ver Mensaje Individual
  #1  
Antiguo 26-01-2007
Caray Caray is offline
Miembro
 
Registrado: abr 2006
Posts: 61
Reputación: 21
Caray Va por buen camino
Combos dependientes

Tengo el sig. codigo para combos dependientes pero no funciona, ayudenme pork no encuentro el error, o si saben de otro más fácil pues diganmelo

Código PHP:
<?php 
//conexión a mysql 
$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"); 
?>
<?php
//seleccionamos las opciones del select principal 
$sql "SELECT c_unidad,nom_unidad FROM uni_academica ORDER BY nom_unidad"
$res mysql_query($sql); 
//obtenemos el número de registros 
$num mysql_num_rows($res); 
?> 
<FORM name="form1" method="POST"> 
<!--Combo principal--> 
<select name="marca" onChange="redirect(this.options.selectedIndex)" style='width:160'> 
<option selected value=0>Unidad Académica</option> 
<? 
for($i=0;$i<$num;$i++) { 
$id_marca[$i] = mysql_result($res,$i,0); 
$marca[$i] = mysql_result($res,$i,1); 
echo 
"<option value='$id_marca[$i]'>$marca[$i]</option>"

?> 
</select> 
<!--Combo dinámico--> 
<select name="modelo" style='width:160'> 
<option selected value=0>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[i]=new Array()"
//Opciones cuando no se ha hecho ninguna selección en el combo principal--> 
echo "group[0][0]=new Option('Docente','0');"
for(
$i=0;$i<$num;$i++) { 
$sql "SELECT c_profesor, nom_profesor FROM profesor WHERE c_unidad = $id_marca[$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++) { 
$id_modelo mysql_result($res,$j,0); 
$modelo mysql_result($res,$j,1); 
//Opciones para la opción $i del combo principal 
echo "group[$num][$j]=new Option('$modelo','$id_modelo')"


?> 
var temp=document.form1.modelo 
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[i]=new Option(group[x][i].text,group[x][i].value) 

temp.options[0].selected=true 

//--> 
</script>
Las Tablas son:
Uni_academica(c_unidad(pk),nom_unidad)
Profesor(c_profesor(pk),c_unidad(fk),nom_profesor)
__________________
La inteligencia me persigue, pero yo soy más rápido que ella.

Última edición por dec fecha: 26-01-2007 a las 05:30:21.
Responder Con Cita