Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/03/2005, 02:59
ASI2
 
Fecha de Ingreso: marzo-2005
Mensajes: 1
Antigüedad: 20 años
Puntos: 0
Exclamación Problema al cargar un combo dependiendo de un radio

Tengo el siguiente problema quiero cargar un combo dependiendo del radio que este seleccionado. Lo hago atacando a una base de datos. Estaba programando en php pero en todos los foros que he visto lo hacen con javascript y no tengo ni idea.
Este es mi codigo.

Código HTML:
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<!--CONECTO CON LA BASE DE DATOS-->
<?
	if($conexion=mysql_connect ("localhost","pepe","pepa")){
				print "<br>Conexión establecida<br>";
			   }
			   else{
			 print "<br>No ha podido realizarse la conexión<br>";
			  # el exit lo incluimos para que deje de ejecutarse
			  # el script si no se establece la conexión
				  exit();
			  }
		$base="proyecto";
  		mysql_select_db ($base, $conexion);

?>

<!-- declaro las funciones -->
<script>
<? //voy cargando los arrays consecutivos con los diferentes parametros que se pueden elegir, cargo el id y el nombre
		$instruccionsql = "SELECT nombre, id_sistema AS ID FROM sistema";
		$rs=mysql_query($instruccionsql,$conexion);
		print("var soft_n_1=new Array(\"-\"");
		 while($registro = mysql_fetch_array($rs))
            { 
			 // print("<OPTION VALUE='" . $registro['ID'] . "'>" . $registro['nombre'] );
			 print(",\"".$registro['nombre']."\"");
			  } 
			  print(")\n");
		$instruccionsql = "SELECT nombre, id_sistema AS ID FROM sistema";
		$rs=mysql_query($instruccionsql,$conexion);
		print("var soft_id_1=new Array(\"-\"");
		 while($registro = mysql_fetch_array($rs))
            { 
			 // print("<OPTION VALUE='" . $registro['ID'] . "'>" . $registro['nombre'] );
			 print(",\"".$registro['ID']."\"");
			  } 
			  print(")\n");
		$instruccionsql = "SELECT nombre, id_aplic AS ID FROM aplicacion";
		$rs=mysql_query($instruccionsql,$conexion);
		print("var soft_n_2=new Array(\"-\"");
		 while($registro = mysql_fetch_array($rs))
            { 
			 // print("<OPTION VALUE='" . $registro['ID'] . "'>" . $registro['nombre'] );
			 print(",\"".$registro['nombre']."\"");
			  } 
			  print(")\n");
		$instruccionsql = "SELECT nombre, id_aplic AS ID FROM aplicacion";
		$rs=mysql_query($instruccionsql,$conexion);
		print("var soft_id_2=new Array(\"-\"");
		 while($registro = mysql_fetch_array($rs))
            { 
			 // print("<OPTION VALUE='" . $registro['ID'] . "'>" . $registro['nombre'] );
			 print(",\"".$registro['ID']."\"");
			  } 
			  print(")\n"); 
		$instruccionsql = "SELECT nombre, id_soporte AS ID FROM soporte";
		$rs=mysql_query($instruccionsql,$conexion);
		print("var soft_n_3=new Array(\"-\"");
		 while($registro = mysql_fetch_array($rs))
            { 
			 // print("<OPTION VALUE='" . $registro['ID'] . "'>" . $registro['nombre'] );
			 print(",\"".$registro['nombre']."\"");
			  } 
			  print(")\n");
		$instruccionsql = "SELECT nombre, id_soporte AS ID FROM soporte";
		$rs=mysql_query($instruccionsql,$conexion);
		print("var soft_id_3=new Array(\"-\"");
		 while($registro = mysql_fetch_array($rs))
            { 
			 // print("<OPTION VALUE='" . $registro['ID'] . "'>" . $registro['nombre'] );
			 print(",\"".$registro['ID']."\"");
			  } 
			  print(")\n");
		mysql_close($conexion); 
?>
function cambia_soft(){
var soft
var mi_soft
var mi_idsoft
soft=document.form-soft.radio-software.value
if(soft!=0){
	mi_soft=eval("soft_n_"+soft)
	mi_idsoft=eval("soft_id_"+soft)
	num_soft=mi_soft.length
	document.form-soft.software.length=num_soft
	for(i=0;i<num_soft;i++){
		document.form-soft.software.options[i].text=mi_soft[i]
		document.form-soft.software.options[i].value=mi_idsoft[i]
		}
	}
else {
	//si no había software seleccionado, elimino las provincias del select
	document.form-soft.software.length=1
	//coloco un guion en la unica opcion que he dejado
	document.form-soft.software.options[0].value="-"
	document.form-soft.software.options[0].text="-"
	}
//marco como seleccionada la opcion primera de software
document.form-soft.software.options[0].selected=true
}

	
</script>

</head>

<body>
<form action="prueba.php" method="POST" name="form-soft" id="form-soft">
  <p> <input name="radio-software" type="radio" value="1" onChange="cambia_soft()">Sistema Operativo</p>
  <p> <input name="radio-software" type="radio" value="2" onChange="cambia_soft()">Aplicacion</p>
  <p> <input name="radio-software" type="radio" value="3" onChange="cambia_soft()">Soporte</p>
<p>
  <select name="software">
  	<option value="-">-
</select>
</p>
</td>
<tr>
<td align="right">Descripci&oacute;n: </td>
<td align="left"> <textarea name="descripcion" cols="30" wrap="VIRTUAL" id="descripcion"></textarea></td><tr>
</form>

</body>
</html> 
GRACIAS