Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/10/2012, 22:39
leri88
 
Fecha de Ingreso: octubre-2012
Ubicación: Guatemala
Mensajes: 2
Antigüedad: 11 años, 6 meses
Puntos: 0
Pregunta Llenar un select con informacion de una base de datos con otro select

Hola a todos soy un total rookie en lenguaje PHP, pero tengo nociones de programacion. Es posible que este tema ya este, pero en los temas relacionados no puedo relacionarlo con mi duda.

Lo que deseo es ...

Tengo un Select con los Grados de una Escuela y al seleccionar un grado enviar el valor a una consulta, cargar la consulta en otro select.

Ya pude hacerlo funcionar, pero tuve que copiar el mismo codigo varias veces por cada grado, y me imagino que debe de haber alguna forma mas simplificada.

Les envio copia del codigo.. Gracias a todos.

Código:
<?php
	include("conexion.php");
	
?>
<html>
<head>
<title>PRUEBA 2</title>
</head>

<script language="javascript">
	function ver(){

		var idgrado = document.f.grados.value;
		var contador=1;
		
		if (idgrado == "1") { // GRADO 1
		<?php $sql = "SELECT * FROM pensum WHERE id_grado=1 ORDER BY curso";
		
		$resultados = mysql_query ($sql);
		$numero = mysql_num_rows($resultados)+1;
		$contador=1; ?>

		document.f.cursos.length = "<?php echo $numero; ?>";
		document.f.cursos.options[0].value = 0;
		document.f.cursos.options[0].text = "Seleccione un curso.";

		<?php
		while ($fila=mysql_fetch_array($resultados)) { ?>

		document.f.cursos.options[contador].value = "<?php echo $fila["id_curso"]; ?>";
		document.f.cursos.options[contador].text = "<?php echo $fila["curso"]; ?>";
		contador++;
		<?php
		} 
		?>
		return;
		}
		
		if (idgrado == "2") { // GRADO 2
		<?php $sql = "SELECT * FROM pensum WHERE id_grado=2 ORDER BY curso";
		
		$resultados = mysql_query ($sql);
		$numero = mysql_num_rows($resultados)+1;
		$contador=1; ?>

		document.f.cursos.length = "<?php echo $numero; ?>";
		document.f.cursos.options[0].value = 0;
		document.f.cursos.options[0].text = "Seleccione un curso.";

		<?php
		while ($fila=mysql_fetch_array($resultados)) { ?>

		document.f.cursos.options[contador].value = "<?php echo $fila["id_curso"]; ?>";
		document.f.cursos.options[contador].text = "<?php echo $fila["curso"]; ?>";
		contador++;
		<?php
		} 
		?>
		return;
		}
		
		if (idgrado == "3") { // GRADO 3
		<?php $sql = "SELECT * FROM pensum WHERE id_grado=3 ORDER BY curso";
		
		$resultados = mysql_query ($sql);
		$numero = mysql_num_rows($resultados)+1;
		$contador=1; ?>

		document.f.cursos.length = "<?php echo $numero; ?>";
		document.f.cursos.options[0].value = 0;
		document.f.cursos.options[0].text = "Seleccione un curso.";

		<?php
		while ($fila=mysql_fetch_array($resultados)) { ?>

		document.f.cursos.options[contador].value = "<?php echo $fila["id_curso"]; ?>";
		document.f.cursos.options[contador].text = "<?php echo $fila["curso"]; ?>";
		contador++;
		<?php
		} 
		?>
		return;
		}

<!-- ..... Y se repite por cada grado. -->
}
</script>

<body>
	<form name="f" method="post" action="">
	<?php
		$sql_grado="SELECT * FROM GRADOS";
		$result=mysql_query($sql_grado,$link);
		$rows=mysql_num_rows($result);
		
		if ($row=mysql_fetch_array($result)){ 
			echo "<table border='1' width='100%'>";
			echo "<tr>";
			echo "<td>Grados:</td>";
			echo "<td><select name='grados' onchange=ver();>";
			echo "<option value= '0' selected='selected'> Seleccione un grado.</option>";
			do {
				echo"<option value= '".$row["id_grado"]."'>".$row["grado"]."</option>";
				}
			while ($row=mysql_fetch_array($result));
			
			echo "</select></td>";
			echo "</tr>";
			
			echo "<tr>";
			echo "<td>Cursos:</td>";
			echo "<td>";
				echo "<select name='cursos'>";
				echo "<option value= '0' selected='selected'> Seleccione un curso.</option>";
				echo "</select>";
			echo "</tr></table>";
		}
		?>
	</form>
</body>
</html>
De ante mano les doy las gracias por este magnifico foro y las personas que lo crearon.

Última edición por leri88; 20/10/2012 a las 23:05