Foros del Web » Creando para Internet » HTML »

Seleccionar opciones de un desplegable

Estas en el tema de Seleccionar opciones de un desplegable en el foro de HTML en Foros del Web. Buenas. Estoy haciendo una pagina y necesito seleccionar una opcion de un desplegable que venga desde una base de datos. Esto no es problema y ...
  #1 (permalink)  
Antiguo 04/05/2010, 09:44
 
Fecha de Ingreso: mayo-2010
Mensajes: 17
Antigüedad: 14 años, 6 meses
Puntos: 0
Seleccionar opciones de un desplegable

Buenas.

Estoy haciendo una pagina y necesito seleccionar una opcion de un desplegable que venga desde una base de datos. Esto no es problema y ya me muestra las opciones existentes.

El problema viene cuando necesito una segunda lista desplegable en la cual se seleccionen tambien valores de la base de datos pero condicionados por el primer valor. Y no se como pasar ese primer valor al segundo archivo php para ponerlo en la select del sql.

¿Alguna idea?
  #2 (permalink)  
Antiguo 04/05/2010, 10:01
Avatar de jimylu  
Fecha de Ingreso: noviembre-2006
Ubicación: Perú
Mensajes: 274
Antigüedad: 18 años
Puntos: 5
Respuesta: Seleccionar opciones de un desplegable

lo q quieres usar son select dependientes eso se realiza con php y ajax por ejm en el primer combo selecionas el pais y en la segunda te debe cargar las provincias de ese pais y si seleccionas una provincia te debe cargar los distritos relacionados a esa provincia.

te recomendaria leer un poco de ajax con php y mysql para hacer ese tipo de trabajos
__________________
Espero haberte sido de ayuda. :D
www.jminformatics.com
  #3 (permalink)  
Antiguo 04/05/2010, 10:19
 
Fecha de Ingreso: mayo-2010
Mensajes: 17
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Seleccionar opciones de un desplegable

Voy a buscar algo de informacion a ver que veo. Gracias
  #4 (permalink)  
Antiguo 04/05/2010, 10:35
 
Fecha de Ingreso: mayo-2010
Mensajes: 17
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Seleccionar opciones de un desplegable

Tengo un problema. Todos los ejemplos que veo son con varias tablas. Mi informacion esta toda en la misma tabla.

Y en los ejemplos tambien veo que utilizan codigos para relacionar una tabla con otra (los foreign key), yo no tengo de eso porque como esta todo en la misma...

Tengo 3 campos: id, pista y grupo.

Dependiendo de la pista (que puede repetirse varias veces) hay un grupo u otro. Entonces lo que quiero es que al escoger una pista de entre todas las que hay, se me muestren en el siguiente combobox los grupos que puede haber.

No hay una forma mas facil? con una unica select y luego ya todo por php??
  #5 (permalink)  
Antiguo 05/05/2010, 03:41
 
Fecha de Ingreso: mayo-2010
Mensajes: 17
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Seleccionar opciones de un desplegable

Al final he optado por ponerlo todo en 2 tablas y probar un cobobox desplegable. Me he bajado este y lo estoy probando:

http://www.formatoweb.com.ar/ajax/select_dependientes.php

Lo he adaptado a mis tablas pero no se que tengo que ejecutar, porque ejecute lo que ejecute no sale nada. Ni los combobox ni las tablas ni nada de nada. Y si lo meto en una pagina web cargando un script de php tampoco sale nada...
  #6 (permalink)  
Antiguo 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.
  #7 (permalink)  
Antiguo 05/05/2010, 09:52
 
Fecha de Ingreso: mayo-2010
Mensajes: 17
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Seleccionar opciones de un desplegable

Bueno, ya lo he solucionado. Ahora mismo se muestra el primer desplegable y cuando elijo una me pone sus opciones en el segundo.

Necesito pasar las opciones escogidas a otro fichero php pero por mas que pruebo no soy capaz de hacerlo. Al final del archivo php incluyo el siguiente y al comienzo del siguiente enlazo las variables pero me da un error en el segundo select( en el que meto el enlace al php nuevo)

Etiquetas: desplegable, opciones, seleccionar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:15.