Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/06/2010, 06:50
Corianito
 
Fecha de Ingreso: abril-2010
Mensajes: 88
Antigüedad: 14 años
Puntos: 1
Pregunta solicito ayuda para terminar un select dinamico

Hola amigos, tengo la necesidad de que se cree un nuevo select segun lo que se haya elegido en un select anterior, he cogido un codigo que alguien publico por hay referente a paises y ciudades y e intentado adapatarlo pero e llegado al momento en el que me e perdido :D. ¿Me podrian ayudar a adaptarlo? el codigo es el siguiente:

Código PHP:
<?php
include('areaprivada/registro/config.php');
?>
<html>
<head>
<script language="JavaScript">

/* Trae desde la base de datos los nombres de los paises */
/* y colóos en este arreglo. */
<?php
$i
=1;
echo 
"var aPaises = new Array(' '";
$query1 mysql_query("SELECT * FROM industrias");
while(list(
$industria$id_industria)=mysql_fetch_row($db_link)) {
echo 
", '$industria'";
$array_industria[$i] = $id_industria;
$i++;
}
echo 
");\n";

echo 
"var aEstados0 = new Array(' ');\n";

for(
$j=1$j<$i;$j++) {
$tempid $array_industria[$j];
$sele2 mysql_query("SELECT * FROM productos WHERE id_industria='1'");
echo 
"var aEstados".$j." = new Array (' '";
while(list(
$ciudad)=mysql_fetch_row($db_link)) {
echo 
", '$ciudad'";
}
echo 
");\n";
}


/* Arma un arreglo general de estados a partir de los arreglos */
/* anteriores. Es importante que cada arreglo comience por un */
/* valor en blanco y que el primer arreglo de ciudades, llamado */
/* aqui aEstados0, no contenga ningúemento. */
echo "var aEstados = new Array( aEstados0";
for(
$a=1;$a<$j;$a++) {
echo 
", aEstados".$a;
}
echo 
");\n";
?>

function opcion(oCntrl, iPos, sTxt, sVal){
var selOpcion=new Option(sTxt, sVal);
eval(oCntrl.options[iPos]=selOpcion);
}

function cambia(oMster, oCntrl){
var nSelected = oMster.selectedIndex;
while (oCntrl.length) oCntrl.remove(0);
for(var i = 0; i < aEstados[nSelected].length; i++)
opcion(oCntrl, i, aEstados[nSelected][i], String(i));
}

function llena(oCntrl){
while (oCntrl.length) oCntrl.remove(0);
for(var i = 0; i < aPaises.length; i++)
opcion(oCntrl, i, aPaises[i], String(i));
}

</script>
</head>
<body>
<form name="frm">
Pais
<select name="industria" onchange="cambia(this, document.frm.ciudad)">
<option value=" ">&nbsp;</option>
</select>
&nbsp;&nbsp;&nbsp;
Ciudad
<select name="ciudad">
<option value=" ">&nbsp;</option>
</select>
</form>
<script language="JavaScript">
llena(document.frm.industria);
</script>
</body>
</html>
Lo que tengo en la base de datos son dos tablas una llamada "industrias, con dos campos 'id_industria y nombreindustria'" y la otra llamada "productos con 3 campos 'id_producto, id_industria, nombreproducto'" lo que quiero es que segun la industria que haya seleccionado muestre en el otro select todos los resultados de "productos" que lleven el id_industria igual al seleccionado en el primer select....

Espero no haberos liado ya que yo si lo estoy :D