Tengo una pequeña pelea desde hace unos cuantos días con los selects dependientes con bdd, parece que vamos empate, aun tengo un problema a ver si vosotros me podeis ayudar..
En un formulario tengo un select que recoge valores de un campo de una base de datos y dependiendo de lo que se seleccione el otro select se modifica con otro campo de la base de datos. Esto lo he querido hacer sin recargar la página así que he implementado esto en el formulario:
Código:
Y esto en un frame://PRIMER SELECT <select name="Tipo" size="1" id="Tipo" onchange="if ((document.Nueva_Ficha.Tipo.value != 'SELECCIONE') && (document.Nueva_Ficha.Tipo.value != '-')) parent.Funcion.location.href='Funcion.php?id=' + this.value"> <option name="SELECCIONE" value="SELECCIONE">SELECCIONE ...</option> <option name="-" value="-">----------------------------</option> <? while ($Tipo = mysql_fetch_array($Resul_Tipo)) if ($Tipo['Id_Tipos'] == $Inmueble['Id_Tipos']) { print "<option name='$Tipo[Id_Tipos]' value='$Tipo[Id_Tipos]' selected>$Tipo[Descripcion]</option>"; } if ($Tipo['Id_Tipos'] != $Inmueble['Id_Tipos']) { print "<option name='$Tipo[Id_Tipos]' value='$Tipo[Id_Tipos]'>$Tipo[Descripcion]</option>"; } ?></select> //SEGUNDO SELECT <select name="Subtipo" size="1"> </select>
Código:
Vale hasta aquí todo funciona como es debido, mi problema es que ahora quiero que me seleccione el opction del select 2º ("selected") que corresponda a un valor que saca de la base de datos, pongamos que es $Inmueble[Subtipo].<script language="javascript"> <? if ($id != "") { ?> var combo=parent.Nueva_General.document.getElementById("Subtipo"); while (combo.length > 0) { combo.options[0]=null; } <? include ("../Public/conexion.php"); $Resul_Subtipo = mysql_query ("Select Id_Subtipos,Descripcion from Subtipos where Id_tipos=$id order by Descripcion"); $Registros =mysql_num_rows ($Resul_Subtipo); while ($Subtipo = mysql_fetch_array($Resul_Subtipo)) { ?> op=new Option(); op.value='<? print $Subtipo[Id_Subtipos] ?>'; op.text= '<? print $Subtipo[Descripcion] ?>'; combo.options[combo.length] = op; <? } } ?> </script>
Como podría hacerlo? Es posible? Me he explicado bien?
Necesito ayuda...