Foros del Web » Programando para Internet » PHP »

Combos relacionados

Estas en el tema de Combos relacionados en el foro de PHP en Foros del Web. Amigos, Tengo un problema, aunque es recurrente, espero puedan prestarme vuestra ayuda. - Tengo en una pagina php implementado dos (o tres) combos box, los ...
  #1 (permalink)  
Antiguo 10/05/2004, 20:12
 
Fecha de Ingreso: octubre-2003
Ubicación: Santiago
Mensajes: 66
Antigüedad: 14 años, 2 meses
Puntos: 0
Combos relacionados

Amigos,

Tengo un problema, aunque es recurrente, espero puedan prestarme vuestra ayuda.

- Tengo en una pagina php implementado dos (o tres) combos box, los cuale cargan sus datos desde una base de datos mysql.

- La idea necesaria, que no he podido lograr obtener a pesar de implementar los ejemplos, (y algunos no llegar a entenderlos muy bien en su total implementar), es que al escoger la opción de uno de ellos, CUALQUIERA SEA, los otros carguen las opciones relacionadas según la base de datos, sin tener la obligación de submitir el formulario.

Es decir,

Combo A ... opciones a, b, c

Combo B ... opciones a.1, b.1, c.1, c.2

Por lo tanto, si escojo la opcion c del Combo A, la idea es que automáticamente el combo B, carge para visualizar o escoger las opciones c.1 y c.2.

Espero se entienda...

Sería muy agradecido si logro de Uds. un link o mayor acercamiento a la solución, dado que no he podido hacerlos con los links que Cluster y otros han expuesto.

Quizás una ayuda con "peras y manzanas" ayude...sorry...

Muchas gracias.

__________________
Saludos,

MAC
  #2 (permalink)  
Antiguo 10/05/2004, 22:56
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
javascript dinámico

te hice el siguiente código, le harian falta cosas de validación, pero eso ya es cosa aparte... le puse comentarios, si te quedan dudas avisame, y en cuanto pueda te contesto, pero te recomiendo que revises el código y trates de entenderlo, antes de preguntarme de nuevo...

el ejemplo maneja alimentos, por ejemplo, si seleccionas en el primer combo box la opcion "verduras" en el segundo te apareceran solo verduras(zanahoria etc). Te incluyo la estructura de la base de datos que hice, la base se llama "alimentos"...

este código lo puedes copiar directamente en el espacio de consultas SQL de phpmyadmin....

CREATE TABLE nombres (
idNombre int(2) NOT NULL auto_increment,
idTipo int(2) NOT NULL default '0',
nombre varchar(200) NOT NULL default '',
UNIQUE KEY idNombre (idNombre),
UNIQUE KEY idNombre_2 (idNombre)
) TYPE=MyISAM;

CREATE TABLE tipos (
idTipo int(2) NOT NULL auto_increment,
tipo varchar(200) NOT NULL default '',
UNIQUE KEY idTipo (idTipo)
) TYPE=MyISAM;

listo, ya tienes tu base de datos, te incluyo el codigo PHP generar la página, no se como se vea aqui, pero mejor copialo y pegalo en un editor para que te resalte sintaxis:

<html>
<head>
<title>Cambio Select Option</title>
<?php
//me conecto a la base de datos, esto lo debes hacer con una función preferentemente para no hacerlo en cada página
$con = mysql_connect("localhost","root","") or die("Error al conectar...");
mysql_select_db("alimentos",$con);

//consulto las opciones principales
$sqlTipos = "SELECT * FROM tipos";

//los resultSet se duplican para mayor claridad, uno se usa para generar el html del combo box, el otro para el javascript
$rssTipos = mysql_query($sqlTipos,$con) or die(mysql_error($con));
$rssJsTipos = mysql_query($sqlTipos,$con) or die(mysql_error($con));

//genero el html para las opciones principales
$htmlTipos = "<option value=\"0\">Seleccione un Tipo de Alimento</option>\n";
while($tipos = mysql_fetch_object($rssTipos))
$htmlTipos .= "<option value=\"".$tipos->idTipo."\">".$tipos->tipo."</option>\n";
?>
<script language="JavaScript">
function cambiaOpciones()
{
tipo = document.getElementById("tipos").value;//obtengo el valor del primer select(opciones principales)
names = document.getElementById("nombres");//hago referencia a el select de nombres
cuantos = names.length;//obtegno su extensión(cuantas opciones tiene)
for(i = 0; i < cuantos; i++)
names.options.remove(0);//elimino las actuales
//dependiendo del tipo, se generan las opciones que le correspnden
//este switch es generado con PHP para que las cpciones correspondan a lo que hay en la base de datos
//te recomiendo que revises el código HTML generado al ejecutar esta página PHP para que veas como queda finalmente el JavaScript
switch(tipo)
{
<?php while($tipoJs = mysql_fetch_object($rssJsTipos)){ ?>//mientras haya tipos, genera opciones
case '<?php echo $tipoJs->idTipo; ?>':
<?php
$sqlOpciones = "SELECT * FROM nombres WHERE idTipo = ".$tipoJs->idTipo;
$rssOpciones = mysql_query($sqlOpciones,$con) or die(mysql_error($con));
while($opcion = mysql_fetch_object($rssOpciones)){
?>
opcion<?php echo $opcion->idNombre; ?> = document.createElement("option");
opcion<?php echo $opcion->idNombre; ?>.value = "<?php echo $opcion->idNombre; ?>";
opcion<?php echo $opcion->idNombre; ?>.text = "<?php echo $opcion->nombre; ?>";
names.options.add(opcion<?php echo $opcion->idNombre; ?>);
<?php } ?>
break;
<?php }?>
default://si no selecciono niguna, deja la opcion default
defaultOp = document.createElement("option");
defaultOp.text = "Primero seleccione Tipo de Alimento";
defaultOp.value = "0";
names.options.add(defaultOp);
break;
}
return true;//siempre es bueno que las funciones te devuelvan algun valor, aunque no tenga utilidad directa
}
</script>
</head>
<body bgcolor="#FFFFFF">
<form name="nombrecualquiera" action="cualquiera.php" method="post">
<table border="1" cellpadding="5" cellspacing="0" bordercolor="#000000">
<tr bordercolor="#FFFFFF">
<td colspan="2">Este formulario cambia la fuente del segundo select(combo box)</td>
</tr>
<tr bordercolor="#FFFFFF">
<td>Tipo de Alimento: </td>
<td><select name="tipos" onChange="cambiaOpciones();">
<?php echo $htmlTipos; ?>
</select></td>
</tr>
<tr bordercolor="#FFFFFF">
<td>Nombre del Alimento: </td>
<td><select name="nombres">
<option value="0">Primero Seleccione Tipo de Alimento</option>
</select></td>
</tr>
</table>
</form>
</body>
</html>

listo, saludos....
  #3 (permalink)  
Antiguo 15/05/2004, 15:43
 
Fecha de Ingreso: octubre-2003
Ubicación: Santiago
Mensajes: 66
Antigüedad: 14 años, 2 meses
Puntos: 0
Estimado,

Te agradezco mucho el esfuerzo y dedicación dada en tu respuesta. Y pido disculpas por no haber podido conectarme antes y comentarlo.

Ahora bien, lamentablemente traté de adaptar tu código que funciona PERFECTAMENTE, y es lo que deseo , dentro de mi actual código pero no hace NADA.

Ya no sé que hacer realmente, y lo único que me queda es solicitarte a ti o alguien que tenga la voluntad de indicarme dónde está mi error o mal concepto involucrado en mi actual codificación.

En espera de alguna respueta y agradeciendo nuevamente el apoyo dado, saludos a todos !
__________________
Saludos,

MAC
  #4 (permalink)  
Antiguo 15/05/2004, 16:45
 
Fecha de Ingreso: octubre-2003
Ubicación: Santiago
Mensajes: 66
Antigüedad: 14 años, 2 meses
Puntos: 0
Estimados amigos,

He detectado que al parecer el código enviado por SISM82, no logre mi objetivo, o en caso contrario no sé como aplicarla a mi caso. La idea es que no solo al elegir un combo se logre cubrir las opciones relacionadas con el primero, también requiero que sea a la inversa también:

Si escojo del combo 1, la opción a... entonces del combo 2 deben aparecer las relacionadas (dentro de la bd) con a. Pero si escojo antes una opción del combo 2, la opción b.1, también debe ser capaz de obtener en el combo 1 la opción b que está relacionada dentro de la base.

Voy a colocar todo el código que tengo implementado, para ver si SISM o alguien puede revisar y darme alguna idea.


Código
=====

<?

$IdConect= mysql_connect( $Maquina, $Usuario, $Password );
if (!$IdConect)
{
echo "Error en la conexión con MySQL";
exit();
}
?>
<html>
<head>
<title>.::agencias/ clientes::.</title>
<script language="JavaScript" type="text/JavaScript">

function cambia()
{
tipo_region = document.getElementById("region_agencia").value;//obtengo el valor del primer select(opciones principales)
tipo_comuna = document.getElementById("comuna_agencia");//hago referencia a el select de nombres
cuantos = tipo_comuna.length;//obtegno su extensión(cuantas opciones tiene)
for(i = 0; i < cuantos; i++)
tipo_comuna.options.remove(0);//elimino las actuales
switch(tipo_region)
{
<?
while($tipoJs = mysql_fetch_object($TablaJss))
{
?>//mientras haya tipos, genera opciones
case '<?php echo $tipoJs->region_agencia; ?>':
<?
$sqlOpciones = "SELECT comuna_agencia FROM agencias WHERE region_agencia = ".$tipoJs->region_agencia;
$rssOpciones = mysql_db_query($Database, $sqlOpciones, $IdConect);
while($opcion = mysql_fetch_object($rssOpciones))
{
?>
opcion<? echo $opcion->comuna_agencia; ?> = document.createElement("option");
opcion<? echo $opcion->comuna_agencia; ?>.text = "<?php echo $opcion->comuna_agencia; ?>";
comuna_agencia.options.add(opcion<? echo $opcion->comuna_agencia; ?> );
<?
}
?>
break;
<?
}
?>
default://si no selecciono niguna, deja la opcion default
defaultOp = document.createElement("option");
defaultOp.text = "Primero seleccione Tipo de Alimento";
defaultOp.value = "0";
comuna_agencia.options.add(defaultOp);
break;
}
return true;//siempre es bueno que las funciones te devuelvan algun valor, aunque no tenga utilidad directa
}


/* tipo = document.getElementById('$region_agencia').value;
names = document.getElementById("comuna_agencia");
cuantos =
while (oCntrl.length) oCntrl.remove(0);
switch (document.agencias_clientes.region_agencia.selecte dIndex)
{
<?
$SQLQuery = "select distinct(comuna_agencia) from agencias where region_agencia = '$region_agencia' order by 1";
$Tabla=mysql_db_query($Database, $SQLQuery, $IdConect);
while ($Registro = mysql_fetch_object($Tabla))
{
$comuna_agencia = $Registro->comuna_agencia;
?>
<option value="<?=$comuna_agencia?>"><?=$comuna_agencia?></option>
<?
}
?>
</select></td>
}*/
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<form name="resultados_agencias_clientes" method="POST" action="ResultadosAgenciasClientes.php" onSubmit="return valida_busqueda(this);">
<body bgcolor="#FFFFFF" text="#000000" link="#993300">
<div align="left"></div>
<table width="79%" border="0">
<tr>
<td bgcolor="#CCCCCC">&nbsp;</td>
</tr>
</table>
<table width="79%" border="0" align="left">
<tr>
<td height="268">
<table width="99%" border="0" align="center" bgcolor="#FFFFFF">
<tr>
<td colspan="2" bgcolor="#FFFFFF"><font size="2" face="Geneva, Arial, Helvetica, san-serif"><img src="file:///D|/Proyecto%20Web/pantallas/Web_24032004/Web%201/Barras/Agencia-clientes.gif" width="601" height="21"></font></td>
</tr>
<tr>
<td height="18" colspan="2" bgcolor="#FFFFFF">
<div align="left"><img src="file:///D|/Proyecto%20Web/pantallas/Web_24032004/Web%201/Barras/Especifica.gif" width="601" height="21"></div>
</td>
</tr>
<tr>
<td bgcolor="#FCF3D8">
<div align="center"><font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">Rut
de Agencia</font> <font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">
<select name="rut_agencia">
<option selected></option>
<?
$SQLQuery = "select distinct(rut_agencia) from agencias order by 1";
$Tabla=mysql_db_query($Database, $SQLQuery, $IdConect);

while ($Registro = mysql_fetch_object($Tabla))
{
$rut_agencia = $Registro->rut_agencia;
?>
<option value="<?=$rut_agencia?>"><?=$rut_agencia?></option>
<?
}
?>
</select></td>
</font></div>
</td>
<td bgcolor="#FCF3D8">
<div align="center"><font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">C&oacute;digo
de Agencia</font> <font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">
<select name="codigo_agencia">
<option selected></option>
<?
$SQLQuery = "select codigo_agencia from agencias order by 1";
$Tabla=mysql_db_query($Database, $SQLQuery, $IdConect);
while ($Registro = mysql_fetch_object($Tabla))
{
$codigo_agencia = $Registro->codigo_agencia;
?>
<option value="<?=$codigo_agencia?>"><?=$codigo_agencia?></option>
<?
}
?>
</select></td>
</font></div>
</td>
</tr>
<tr>
<td colspan="2" bgcolor="#FCF3D8"><font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">
<div align="center">Nombre de Agencia<font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">
<select name="nombre_agencia">
<option selected></option>
<?
$SQLQuery = "select nombre_agencia from agencias order by 1";
$Tabla=mysql_db_query($Database, $SQLQuery, $IdConect);
while ($Registro = mysql_fetch_object($Tabla))
{
$nombre_agencia = $Registro->nombre_agencia;
?>
<option value="<?=$nombre_agencia?>"><?=$nombre_agencia?></option>
<?
}
?>
</select></td>
</font></div>
</font></td>
</tr>
</table>
<table width="99%" border="0" align="center" bgcolor="#FFFFFF">
<tr bgcolor="#FFFFFF">
<td colspan="3" bgcolor="#FCF3D8">
<div align="center"><font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">Seleccione
s&oacute;lo un criterio de busqueda.
<input type="submit" name="Submit" value="Buscar">
</font></div>
</td>
</tr>
</table>
<div align="right"></div>
<table width="80%" border="0" align="center">
<tr>
<td>
<table width="99%" border="0" align="center" bgcolor="#FFFFFF">
<tr>
<td height="18" colspan="2" bgcolor="#FFFFFF">
<div align="left"><font face="Geneva, Arial, Helvetica, san-serif" size="2"><img src="file:///D|/Proyecto%20Web/pantallas/Web_24032004/Web%201/Imagenes/linea.gif" width="601" height="21"></font></div>
</td>
</tr>
<tr>
<td height="18" colspan="2"><img src="file:///D|/Proyecto%20Web/pantallas/Web_24032004/Web%201/Barras/General.gif" width="601" height="21"></td>
</tr>
<tr>
<td bgcolor="#FCF3D8">
<div align="center"><font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">Regi&oacute;n
</font> <font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">
<select name="region_agencia" onChange="cambia()">
<option selected></option>
<?
$SQLQuery = "select distinct(region_agencia) from agencias order by 1";
$Tabla=mysql_db_query($Database, $SQLQuery, $IdConect);
$TablaJss=mysql_db_query($Database, $SQLQuery, $IdConect);

while ($Registro = mysql_fetch_object($Tabla))
{
$region_agencia = $Registro->region_agencia;
?>
<option value="<?=$region_agencia?>"><?=$region_agencia?></option>
<?
}
?>
</select></td>
</font></div>
</td>
<td bgcolor="#FCF3D8">
<div align="center"><font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">Comuna</font>
<font size="2" face="Geneva, Arial, Helvetica, san-serif" color="#993300">
<select name="comuna_agencia" onChange="cambia()">
<option selected></option>
<?
$SQLQuery = "select distinct(comuna_agencia) from agencias order by 1";
$Tabla=mysql_db_query($Database, $SQLQuery, $IdConect);

while ($Registro = mysql_fetch_object($Tabla))
{
$comuna_agencia = $Registro->comuna_agencia;
?>
<option value="<?=$comuna_agencia?>"><?=$comuna_agencia?></option>
<?
}
?>
</select></td>
</font></div>
</td>
</tr>
<tr>
</table>
</body>
</html>


Gracias.
__________________
Saludos,

MAC
  #5 (permalink)  
Antiguo 15/05/2004, 17:51
 
Fecha de Ingreso: octubre-2003
Ubicación: Santiago
Mensajes: 66
Antigüedad: 14 años, 2 meses
Puntos: 0
Colegas y amigos,

Alguna opinión respecto a lo expuesto? Gracias.
__________________
Saludos,

MAC
  #6 (permalink)  
Antiguo 15/05/2004, 22:10
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
trata de ser mas explícito al respecto. Si tienes dos combo box, solo puede haber dependencia en un sentido, no en los dos. Por ejemplo, si seleccionas opciones del combo A, cambiaran las opciones del combo B, pero si cambias las del combo B no es lógico que cambien las del A.

O trata de ser mas explícito con la información relevante...
  #7 (permalink)  
Antiguo 15/05/2004, 22:31
 
Fecha de Ingreso: octubre-2003
Ubicación: Santiago
Mensajes: 66
Antigüedad: 14 años, 2 meses
Puntos: 0
OK. Olvidemos el comentario de selección inversa.

El problema lo tengo igual, aún con el código que tú gentilmente me expusiste. Por ello lo expuso completamente (recortando partes no importantes por el límite de líneas, obvio).

Realmente, como indiqué antes tb tú codigo funcionó tal cual lo necesito, pero no puedo hacerlo trabajar en "mi" lógica. Por ello, insisto, puse mi código para su visión y ser más explícito como aquí indicas.

La información relevante es la que allí aparece (código) o he escrito, a mi juicio. No creo exista más.

Gracias.
__________________
Saludos,

MAC
  #8 (permalink)  
Antiguo 15/05/2004, 22:37
 
Fecha de Ingreso: octubre-2003
Ubicación: Santiago
Mensajes: 66
Antigüedad: 14 años, 2 meses
Puntos: 0
Sorry, olvidé mencionar algo.

No soy un trabajar permanente de esta área. He aprendido mucho eso si, y muchas veces a sido gracias a vuestra ayuda.

Por ello, al inicio de esta petición, dije ojalá con "peras y manzanas", y fue lo que tú me expusiste. Pero no logro "encajarlo" en mi construcción actual.

Realmente, es lo único que me falta para poder terminar con esta "reparación" de un sistema pequeño que me fue asignado, sin tener conocimientos de php. MySQL no lo incluyo por que me manejo en bases de datos. Pero la construcción y lógica para esto no ha llegado a ser comprendida.

Solicito disculpas, por que he visto (en mi búsqueda) que muchas se molestan por que uno insista con un caso. Pero cuando no se entiende, no es posible hacer magias...sorry (

Gracias, again!
__________________
Saludos,

MAC
  #9 (permalink)  
Antiguo 16/05/2004, 09:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Yo creo que no se entiende mucho lo que pretendes hacer por qué no vemos TU modelo de datos concreto que estás usando para relacionar tus dos tablas (o tal vez unas alguna tabla en relación N<->N?) ..

Así que ademas del código que indicas .. no estaría de más indicar la estructura de tus tablas implicadas e indiques que campos son las "claves foráneas" con los que las relacionas.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 16/05/2004, 13:11
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
apenas empecé a revisar tu código y me encontré con esto:

Código:
while($tipoJs = mysql_fetch_object($TablaJss))
{ 
?>//mientras haya tipos, genera opciones
case '<?php echo $tipoJs->region_agencia; ?>':
la variable $TablaJss debería ser un "Result Set" de mysql, sin embargo no veo que le asignes antes ningún resultado de consulta. Verifica bien tu código y soluciona eso, pruebalo de nuevo e indicanos si marca errores, o simplemente no hace nada, o si marca errores de JavaScript, se ven en la parte inferior izquierda de IExplorer, como un ícono amarillo de alerta, dale doble click y te mostrará el error de JavaScript en caso de existir...

saludos
  #11 (permalink)  
Antiguo 16/05/2004, 13:44
 
Fecha de Ingreso: octubre-2003
Ubicación: Santiago
Mensajes: 66
Antigüedad: 14 años, 2 meses
Puntos: 0
Hola,

Revisando el código nuevamente, se puede validar que si está definida el result set:

$SQLQuery = "select distinct(region_agencia) from agencias order by 1";
$Tabla=mysql_db_query($Database, $SQLQuery, $IdConect);
$TablaJss=mysql_db_query($Database, $SQLQuery, $IdConect);

lo realicé allí y luego lo trasladé a la parte superior de la codificación, porque según mi análisis podría no estarlo tomando al estar más abajo. Pero tampoco resulto.

Aquí no se hace necesario el concepto de clave foránea. Es la misma tabla de la cual estamos hablando. Y sólo se necesita obtener las comunas derivadas de la región escogida.

Espero quede más claro ahora. Ah! No obtengo errores de Javascript en el browser. De haber los habría expuesto.

Gracias, y espero vuestro apoyo.
__________________
Saludos,

MAC
  #12 (permalink)  
Antiguo 17/05/2004, 06:58
 
Fecha de Ingreso: septiembre-2003
Ubicación: Madrid
Mensajes: 53
Antigüedad: 14 años, 3 meses
Puntos: 1
Con esta opcion no tienes que enviar el formulario.

Que tal, yo estoy haciendo eso mismo, prueba lo siguiente, si no entiendes algo, solo tienes que preguntarlo.

Código:
<tr> 
  <td width="30%" align="right" class="t">
     Pa&iacute;s:  
   <td width="70%" align="left">
     <select name="pais" onChange="location = this.options[this.selectedIndex].value">
              <option value="nulo">País</option>
Código PHP:
<?php   
$pais 
= (isset($_GET ["pais"])) ? $_GET["pais"] : $HTTP_GET_VARS["pais"]; 

    
  
$resultado mysql_query("SELECT xxxxxxx from xxxxxx ");
  while (
$linea=mysql_fetch_row($resultado)) {
      if (
$linea[0]==$pais){    
          echo (
"<option value='formu.php?pais=".$linea[0]." selected>".$linea[0]."</option>\n");
      }
      else
      {
          echo (
"<option value='formu.php?pais=".$linea[0].">".$linea[0]."</option>\n");                 
                     }
               }
?>
Código:
            </select>
<input name="po" type="hidden" value="<?=$pais?>">
   </td>
   <tr>
   <td width="30%" align="right" class="t">
     Ciudad:  
   <td width="70%" align="left">
	 <select name="ciudada" >
              <option value="nulo">Ciudades</option>
<?php
Código PHP:
               $cod=mysql_query("SELECT xxxxxxxx from xxxxxxx where xxxxxx='".$pais."'); 
               while ($cod2=mysql_fetch_row($cod)) { 
               if ($cod2[0]==$ciudad){    
                     echo ("
<option selected>".$cod2[0]."</option>n");
                   }
                else                 
       echo ("
<option>".$cod2[0]."</option>n");                 
            } 
?>
Código:
            </select>
<input name="co" type="hidden" value="<?=$ciudad?>">
   </td>
Te resumo, recargas la página con el valor del primer select pasado por get a la misma página, los input hidden son para pasar después los valores cuando hagas el submit del formulario a la siguiente hoja.

Espero te ayude. Saludos.

PD: Lo mismo tienes que cambiar alguna cosa, porque he tenido que cortarlo ya que yo lo hago para 6 <select>, pero la base es esta, fijate en el onChange del primer select, y el value en los <option>, se recarga la página y ya tienes el valor del primer select como una variable php, para hacer con ella lo que quieras.

Última edición por bomaye; 17/05/2004 a las 07:01
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 18:23.