Foros del Web » Programando para Internet » Javascript »

Problema con select dinamico

Estas en el tema de Problema con select dinamico en el foro de Javascript en Foros del Web. Hola amigos, estoy trabajando con un script de selects dinámicos en los cuales cargo los datos de una BD mysql en dos select que al ...
  #1 (permalink)  
Antiguo 22/06/2007, 13:19
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 3 meses
Puntos: 4
Problema con select dinamico

Hola amigos, estoy trabajando con un script de selects dinámicos en los cuales cargo los datos de una BD mysql en dos select que al seleccionar una opción del primero me muestre en el segundo select las opciones asociadas a la del primer select pero el problema está en que cuando selecciono una opción del primer select el segundo no carga ninguna opción, el script es el siguiente

Código PHP:
<?php
    
//conexión a mysql
    
include('connect.php');
    
//seleccionamos las opciones del select principal
    
$sql "SELECT id_cat,categoria FROM tutscat ORDER BY id_cat";
    
$res mysql_query($sql);
    
//obtenemos el número de registros
    
$num mysql_num_rows($res);
?>

<form name="form1" method="post">

<!--Combo principal-->
<select name="categoria" onChange="redirect(this.options.selectedIndex)" style="width: 160px;">
<option selected value="0">Categoría</option>
<?php
    
for($i=0;$i<$num;$i++) {
        
$idcat[$i] = mysql_result($res,$i,0);
        
$categoria[$i] = mysql_result($res,$i,1);
        echo 
"<option value='$categoria[$i]'>$categoria[$i]</option>";
    }
?>
</select>

<!--Combo dinámico-->
<select name="titulo" style="width: 160px;">
    <option selected value="0">Titulo</option>
</select>

</form>

<?php
    
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('Titulo','0');";
    for(
$i=0;$i<$num;$i++) {
        
$sql "SELECT id_tuto, titulo, categoria FROM tutoriales WHERE categoria='".$categoria[$i]."'";
        
$res mysql_query($sql);
        
//Obtenemos el número de articulos para esa categoria
        
$num2 mysql_num_rows($res);
        for(
$j=0;$j<$num2;$j++) {
            
$idtuto mysql_result($res,$j,0);
            
$titulo mysql_result($res,$j,1);
            
//Opciones para la opción $i del combo principal
            
echo "group[$num][$j]=new Option('$titulo','$idtuto')";
        }
    }
?>
var temp=document.form1.titulo

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>
No sé en dónde puede estar la falla, espero que me puedan echar una mano con ello, gracias de antemano.

Saludos.
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 05:43.