05/05/2010, 05:09
|
| | Fecha de Ingreso: mayo-2010
Mensajes: 17
Antigüedad: 14 años, 6 meses Puntos: 0 | |
Respuesta: Seleccionar opciones de un desplegable Bueno al final he optado por cambiarlo. Tengo esto que teoricamente tendria que funcionar pero que veo que no:
combo2.php: Código PHP:
<script type="text/javascript">
var peticion = false;
var testPasado = false;
try {
peticion = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
peticion = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
peticion = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
peticion = false;
}
}
}
if (!peticion)
alert("ERROR AL INICIALIZAR!");
function cargarCombo (url, comboAnterior, element_id) {
//Obtenemos el contenido del div
//donde se cargaran los resultados
var element = document.getElementById(element_id);
//Obtenemos el valor seleccionado del combo anterior
var valordepende = document.getElementById(comboAnterior)
var x = valordepende.value
//construimos la url definitiva
//pasando como parametro el valor seleccionado
var fragment_url = url+'?Id='+x;
element.innerHTML = '<img src="Imagenes/loading.gif" />';
//abrimos la url
peticion.open("GET", fragment_url);
peticion.onreadystatechange = function() {
if (peticion.readyState == 4) {
//escribimos la respuesta
element.innerHTML = peticion.responseText;
}
}
peticion.send(null);
}
</script>
<p><label for="carrera">Carrera:</label>
<select name="Carrera" onchange="javascript:cargarCombo('curso.php', 'Carrera', 'Div_Curso')" id="Curso">
<?
$servidor = 'localhost';
$usuario = 'root';
$contrasena = '';
$datos = 'dbprueba';
mysql_connect($servidor,$usuario,$contrasena);
@mysql_select_db($datos) or die( "Es imposible conectar a la base de datos");
$query = "SELECT * FROM carrera";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {
$Id = mysql_result($result,$i,"id");
$Carrera = mysql_result($result,$i,"nombre");
?>
<option value=<? echo $Id; ?>>
<? echo $Carrera ?>
</option>
<?
$i++;
}
?>
</select>
</p>
<p>
<div id="Div_curso">
<label for="curso">Curso:</label>
<select name="Curso" id="Curso" class="select"></select>
</div>
</p> curso.php: Código PHP: <?
$IdCarrera = $_REQUEST['id'];
?>
<label for="curso">Curso:</label>
<select name="Curso" id="Curso" class="select">
<?
$servidor = 'localhost';
$usuario = 'root';
$contrasena = '';
$datos = 'dbprueba';
mysql_connect($servidor,$usuario,$contrasena);
@mysql_select_db($datos) or die( "No se puede coenctar con la base de datos");
$query = "SELECT * FROM curso WHERE id_carrera=$IdCarrera";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {
$IdCurso = mysql_result($result,$i,"id");
$Curso = mysql_result($result,$i,"nombre");
?>
<option value=<? echo $IdCurso; ?>>
<? echo htmlentities($Curso) ?>
</option>
<?
$i++;
}
?>
</select> Y las tablas son:
Código:
create table carrera(
id int(2) primary key,
nombre char(10));
insert into carrera values(1, "Carrera1");
insert into carrera values(2, "Carrera2");
insert into carrera values(3, "Carrera3");
create table curso(
id int(2) primary key,
nombre char(10),
grupo int(2),
id_carrera int(2),
foreign key (id_carrera) references carrera(id));
insert into curso values(1, "primero", 3, 1);
insert into curso values(2, "segundo", 4, 1);
insert into curso values(3, "tercero", 2, 1);
insert into curso values(4, "primero", 5, 2);
insert into curso values(5, "segundo", 3, 2);
insert into curso values(6, "tercero", 8, 2);
insert into curso values(7, "primero", 9, 3);
insert into curso values(8, "segundo", 8, 3);
insert into curso values(9, "tercero", 7, 3);
Pero no consigo que muestre nada ni en el primer desplegable. No se, aparentemente el codigo esta bien y no me da errores ni nada, solo muestra los dos desplegables y nada mas. |