Foros del Web » Programando para Internet » Javascript »

combobox dinamico

Estas en el tema de combobox dinamico en el foro de Javascript en Foros del Web. ola tios tengo un formulario q tiene dos combobox, uno llamado marca y otro modelo, me gustaria q cuando seleccionaras una marca el listado de ...
  #1 (permalink)  
Antiguo 11/05/2004, 05:50
Avatar de sith  
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 333
Antigüedad: 20 años, 9 meses
Puntos: 0
combobox dinamico

ola tios tengo un formulario q tiene dos combobox, uno llamado marca y otro modelo, me gustaria q cuando seleccionaras una marca el listado de modelo cambie a la lista de modelos relacionados con la marca elegida. Preferiria q fuese en PHP, pero me conformo con lo q me podais pasar
  #2 (permalink)  
Antiguo 11/05/2004, 06:07
 
Fecha de Ingreso: enero-2004
Ubicación: PAïS LLïONES
Mensajes: 162
Antigüedad: 20 años, 3 meses
Puntos: 3
Yo lo que haria seria cada vez que cambiases la marca, volver a ejecutar la consulta mysql enviando el parametro necesario

select * from MODELOS where idmarca=$parametro

$parametro seria un valor numerico que podria ser el value de la opcion selecionada del combo marcas. y el value de marcas lo podrias cargar con el identificador de la tabla MARCAS, te parece?
  #3 (permalink)  
Antiguo 11/05/2004, 09:19
 
Fecha de Ingreso: mayo-2004
Ubicación: Corrientes-Argentina
Mensajes: 4
Antigüedad: 20 años
Puntos: 0
De acuerdo Combobox dinamico

Mira, yo he tenido el mismo problema que vos, y lo solucione usando frames, o sea el primer combo lo ponia en un formulario en el primer frame y luego pasaba los datos al segundo formulario que se encontraba en el segundo frame, lo hice en php.
Te paso los codigos para que te guies:
Este es el que va en la pagina index o sea la contenedora de los frames.

<frameset rows="25%,25%,25%,25%">
<frame src="marco1.php">
<frame src="marcos3.php" name="principal" frameborder="yes" bordercolor="#0000CC">
<frame src="marcos3.php" name="secundario" frameborder="yes" bordercolor="#0000CC">
<frame src="marcos3.php" name="terciario" frameborder="yes" bordercolor="#0000CC">

---------------------
Este es el codigo del primer frame llamado marco1.php

donde me conecto a la base de datos, y hago una consulta y la muestro en el combo.

<form method="post" action="marco2.php" target="principal">
<?
include ("conexion.php");
$sql="SELECT * FROM Personas";
$res=odbc_exec($conn,$sql);
print ("

<tr>
<td><select name=\"pais\" onchange=\"submit();\">
");
if (!isset($pais)){
print ("<option selected>Seleccione el pais</option>");
$pais="0";
}

$sql="select * from TB_Pais";
$res=odbc_exec($conn,$sql);

while($fila=odbc_fetch_array($res)){
print("<option value=\"$fila[IdCodigo]\"");
if ($fila['IdCodigo'] == $pais) {
print ("selected");
}
print(">$fila[Descripcion]</option>\n");
}
print("</select></td></tr>");
?>
</form>
------------------------
Este es el codigo del segundo frame llamado marco2.php, el cual se abrira una vez elegido una opcion del primer combo.

<? $pais=$_POST['pais'];
echo $pais;
include ("conexion.php");
/*$conn=odbc_connect('personas','patricia','pato');
if (!$conn)
{
exit("Connection Failed: " . $conn);
} */
$sql="SELECT * FROM Personas";
$res=odbc_exec($conn,$sql);
if ($pais!="0"){ $sqlprov="SELECT * FROM TB_Provincia WHERE idpais=$pais";
$resprov=odbc_exec($conn,$sqlprov); ?>
<form action="marco4.php" method="post" target="secundario">
<tr><td><td> <select name="provincia" onChange="submit();">
<option selected>Seleccione Provincia</option>
<? while($fila=odbc_fetch_array($resprov)) {?>
<option value="<?
echo $provincia=$fila['IdCodigo'] ?>">
<?
echo $fila['Descripcion']; ?></option>
<?
}?>
</select>
<? } ?>
</form>
-----------------------
Este es el codigo del tercer frame llamado marco4.php, el cual se abrira si se elige la segunda opcion.

<? $provincia=$_POST['provincia'];
echo $provincia;
include ("conexion.php");

$sql="SELECT * FROM Personas";
$res=odbc_exec($conn,$sql);
$sqlprov="SELECT * FROM TB_Ciudad WHERE IdProvincia=$provincia";
$resprov=odbc_exec($conn,$sqlprov); ?>
<form action="marco5.php" method="post" target="terciario">
<tr><td><td> <select name="ciudad" onChange="submit();">
<option selected>Seleccione Ciudad</option>
<? while($fila=odbc_fetch_array($resprov)) {?>
<option value="<?
echo $ciudad=$fila['IdCodigo'] ?>">
<?
echo $fila['Descripcion']; ?></option>
<?
}?>
</select>
</form>
-----------------------
Este es el codigo de la cuarto frame llamado frame5.php, el cual se abrira si se elige la tercera opcion.

<? $ciudad=$_POST['ciudad'];
echo $ciudad;
include ("conexion.php");

$sql="SELECT * FROM Personas";
$res=odbc_exec($conn,$sql);
$sqlprov="SELECT * FROM TB_Barrio WHERE IdCiudad=$ciudad";
$resprov=odbc_exec($conn,$sqlprov); ?>
<form action="" method="post" target="">
<tr><td><td> <select name="barrio" onChange="submit();">
<option selected>Seleccione Barrio</option>
<? while($fila=odbc_fetch_array($resprov)) {?>
<option value="<?
echo $barrio=$fila['IdCodigo'] ?>">
<?
echo $fila['Descripcion']; ?></option>
<?
}?>
</select>
</form>
--------------
El archivo marcos3.php que se hace referencia en el archivo index, es un archivo php en blanco el cual se carga al comienzo para que aparesca en blanco los 3 ultimos frames, los cuales van cambiando cuando se van eligiendo las opciones en el combo empezando desde el primero.
Espero que te sirva.
Saludos.
  #4 (permalink)  
Antiguo 12/05/2004, 05:39
Avatar de sith  
Fecha de Ingreso: julio-2003
Ubicación: Sevilla
Mensajes: 333
Antigüedad: 20 años, 9 meses
Puntos: 0
gracias tios ya ta esto arreglado, lo he resuelto haciendolo casi como tu Jazmina, pero con todo en la misma pagina
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 13:06.