Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/05/2008, 03:27
Janire
 
Fecha de Ingreso: septiembre-2007
Mensajes: 100
Antigüedad: 16 años, 7 meses
Puntos: 0
Rellenar un select en funcion de lo elegido en otro select

Buenas a todos!!

Tengo un select con varias opciones y lo que quiero es que cuando el usuario elija una opción, dependiendo de lo elegido, en otro select me salgan sus opciones. En lo que tengo el usuario puede elegir en el primer select pero luego no se me cambia el segundo select en función de lo elegido, sino que siempre me aparece el else del código. Os dejo lo que tengo hecho a ver si alguien me puede hechar una mano.

Código PHP:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<?php
    
require_once("conexion.inc.php");
    
$conexion mysql_connect($servidor$usuario$passwd);
    
$db mysql_select_db($basedatos$conexion);
    if (!
$conexion)
    {
        echo 
"Error al establecer la conexión con la base de datos: " mysql_error();
        exit();
    }
    if (!
$db)
    {
        echo 
"Error seleccionando la base de datos: " mysql_error();
        exit();
    }
?>

<body>
<table width="836" cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="209" align="right">Categoría del producto:</td>
<td width="209" align="left">
<form name="formulario_categoria" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<select name="categoria">
    <option value="accesorios_viaje">Accesorios de viaje</option>
    <option value="casa_hogar">Casa y hogar</option>
    <option value="cuidado_personal">Cuidado personal</option>
    <option value="escritura">Escritura</option>
    <option value="herramientas_linternas">Herramientas y linternas</option>
    <option value="ocio">Ocio</option>
    <option value="oficina">Oficina</option>
    <option value="regalos">Regalos</option>
    <option value="sonido_imagen">Sonido e imagen</option>
    <option value="tiempo">Tiempo</option>
</select>
</form>
</td>
<td width="209" align="right">Subcategoría del producto:</td>
<td width="209" align="left">
<?php
    
if ($_POST['categoria'] == "accesorios_viaje")
    {
        echo 
"<form name=\"formulario_subcategoria\">";
        echo 
"<select name=\"subcategoria\">";
        echo 
"<option value=\"accesorios_viaje\">Accesorios de viaje</option>";
        echo 
"<option value=\"bolsa_compra\">Bolsa para la compra</option>";
        echo 
"<option value=\"bolsa_nino\">Bolsa para niño</option>";
        echo 
"<option value=\"bolsa_deporte\">Bolsa de deporte</option>";
        echo 
"<option value=\"bolsa_playa\">Bolsa de playa</option>";
        echo 
"<option value=\"bolsa_viaje\">Bolsa de viaje</option>";
        echo 
"<option value=\"bolso_mochila\">Bolsos y mochilas</option>";
        echo 
"<option value=\"chubasquero\">Chubasquero</option>";
        echo 
"<option value=\"cosmetica\">Cosmetica</option>";
        echo 
"<option value=\"macuto\">Macutos</option>";
        echo 
"<option value=\"maletas_carritos\">Maletas y carritos</option>";
        echo 
"<option value=\"monederos\">Monederos</option>";
        echo 
"<option value=\"paraguas\">Paraguas</option>";
        echo 
"<option value=\"rinonera\">Riñonera</option>";
        echo 
"</select>";
        echo 
"</form>";
    }
    elseif (
$_POST['categoria'] == "casa_hogar")
    {
        echo 
"<form name=\"formulario_subcategoria\">";
        echo 
"<select name=\"subcategoria\">";
        echo 
"<option value=\"accesorios_cocina\">Accesorios para cocina</option>";
        echo 
"<option value=\"accesorios_vino\">Accesorios para vino</option>";
        echo 
"<option value=\"ambiente\">Ambiente</option>";
        echo 
"<option value=\"botellas\">Botellas</option>";
        echo 
"<option value=\"decoracion\">Decoración</option>";
        echo 
"<option value=\"fotos\">Fotos</option>";
        echo 
"<option value=\"termos\">Termos</option>";
        echo 
"<option value=\"utensilios_cocina\">Utensilios de cocina</option>";
        echo 
"</select>";
        echo 
"</form>";
    }
    elseif (
$_POST['categoria'] == "cuidado_personal")
    {
        echo 
"<form name=\"formulario_subcategoria\">";
        echo 
"<select name=\"subcategoria\">";
        echo 
"<option value=\"accesorios_ropa\">Accesorios para ropa</option>";
        echo 
"<option value=\"bufandas\">Bufandas</option>";
        echo 
"<option value=\"complementos\">Complementos</option>";
        echo 
"<option value=\"estilo_mujer\">Estilo de mujer</option>";
        echo 
"<option value=\"gimnasia\">Gimnasia</option>";
        echo 
"<option value=\"relax\">Relax</option>";
        echo 
"<option value=\"salud\">Salud</option>";
        echo 
"<option value=\"set_bano\">Set de baño</option>";
        echo 
"<option value=\"set_costura\">Set de costura</option>";
        echo 
"<option value=\"set_limpieza_zapatos\">Set para limpieza de zapatos</option>";
        echo 
"<option value=\"set_manicura\">Set de manicura</option>";
        echo 
"<option value=\"sombreros\">Sombreros</option>";
        echo 
"</select>";
        echo 
"</form>";
    }
    elseif (
$_POST['categoria'] == "escritura")
    {
        echo 
"<form name=\"formulario_subcategoria\">";
        echo 
"<select name=\"subcategoria\">";
        echo 
"<option value=\"boligrafos\">Boligrafos</option>";
        echo 
"<option value=\"caja_pinturas\">Cajas de pinturas</option>";
        echo 
"<option value=\"punta_roll_on\">Con punta roll on</option>";
        echo 
"<option value=\"correctores_roll_on\">Correctores_roll_on</option>";
        echo 
"<option value=\"lapices\">Lápices</option>";
        echo 
"<option value=\"ninos\">Niños</option>";
        echo 
"<option value=\"rotuladores_marcadores\">Rotuladores y marcadores</option>";
        echo 
"<option value=\"set_regalo\">Set de regalo</option>";
        echo 
"</select>";
        echo 
"</form>";
    }
    elseif (
$_POST['categoria'] == "herramientas_linternas")
    {
        echo 
"<form name=\"formulario_subcategoria\">";
        echo 
"<select name=\"subcategoria\">";
        echo 
"<option value=\"accesorios_coche\">Accesorios para coche</option>";
        echo 
"<option value=\"bricolaje\">Bricolaje</option>";
        echo 
"<option value=\"linternas\">Linternas</option>";
        echo 
"</select>";
        echo 
"</form>";
    }
    elseif (
$_POST['categoria'] == "ocio")
    {
        echo 
"<form name=\"formulario_subcategoria\">";
        echo 
"<select name=\"subcategoria\">";
        echo 
"<option value=\"antiestres\">Antiestres</option>";
        echo 
"<option value=\"bicicletas_patinetes\">Bicicletas y patinetes</option>";
        echo 
"<option value=\"camping_picnic\">Camping y picnic</option>";
        echo 
"<option value=\"gafas_sol\">Gafas de sol</option>";
        echo 
"<option value=\"golf\">Golf</option>";
        echo 
"<option value=\"gorras_sombreros\">Gorras y sombreros</option>";
        echo 
"<option value=\"jardin\">Jardín</option>";
        echo 
"<option value=\"juegos\">Juegos</option>";
        echo 
"<option value=\"playa\">Playa</option>";
        echo 
"<option value=\"set_barbacoa\">Set para barbacoa</option>";
        echo 
"<option value=\"supervivencia\">Supervivencia</option>";
        echo 
"<option value=\"ventilador\">Ventilador</option>";
        echo 
"</select>";
        echo 
"</form>";
    }
    elseif (
$_POST['categoria'] == "oficina")
    {
        echo 
"<form name=\"formulario_subcategoria\">";
        echo 
"<select name=\"subcategoria\">";
        echo 
"<option value=\"accesorios_cd_mp3_mp4\">Accesorios para CDs</option>";
        echo 
"<option value=\"accesorios_libros\">Accesorios para libros</option>";
        echo 
"<option value=\"accesorios_ordenador\">Accesorios para ordenador</option>";
        echo 
"<option value=\"articulos_escritorio\">Articulos de escritorio</option>";
        echo 
"<option value=\"bolsa_ordenador_portatil\">Bolsa para ordenador portátil</option>";
        echo 
"<option value=\"lanyards\">Lanyards</option>";
        echo 
"<option value=\"laser\">Láser</option>";
        echo 
"<option value=\"libretas_bloc_notas\">Libretas y bloc de notas</option>";
        echo 
"<option value=\"memorias_usb\">Memorias_usb</option>";
        echo 
"<option value=\"portafolios_portadocumentos\">Portafolios y portadocumentos</option>";
        echo 
"<option value=\"portatarjetas\">Portatarjetas</option>";
        echo 
"<option value=\"telefono\">Teléfono</option>";
        echo 
"</select>";
        echo 
"</form>";
    }
    elseif (
$_POST['categoria'] == "regalos")
    {
        echo 
"<form name=\"formulario_subcategoria\">";
        echo 
"<select name=\"subcategoria\">";
        echo 
"<option value=\"caramelos\">Caramelos</option>";
        echo 
"<option value=\"llaveros\">Llaveros</option>";
        echo 
"<option value=\"peluches\">Peluches</option>";
        echo 
"</select>";
        echo 
"</form>";
    }
    elseif (
$_POST['categoria'] == "sonido_imagen")
    {
        echo 
"<form name=\"formulario_subcategoria\">";
        echo 
"<select name=\"subcategoria\">";
        echo 
"<option value=\"camara_marco_fotos_digital\">Camaras y marcos de fotos digital</option>";
        echo 
"<option value=\"grabador_voz\">Grabador de voz</option>";
        echo 
"<option value=\"pilas\">Pilas</option>";
        echo 
"<option value=\"radio\">Radio</option>";
        echo 
"<option value=\"reproductor_cd\">Reproductor de CDs</option>";
        echo 
"<option value=\"reproductor_mp3_mp4\">Reproductor MP3 y MP4</option>";
        echo 
"</select>";
        echo 
"</form>";
    }
    else
    {
        echo 
"<form name=\"formulario_subcategoria\">";
        echo 
"<select name=\"subcategoria\">";
        echo 
"<option value=\"cronometros_podometros\">Cronómetros y podómetros</option>";
        echo 
"<option value=\"estaciones_meteorologicas\">Estaciones meteorológicas</option>";
        echo 
"<option value=\"relojes\">Relojes</option>";
        echo 
"<option value=\"termometro\">Termómetro</option>";
        echo 
"</select>";
        echo 
"</form>";
    }
?>
</td>
</tr>
</table>
</body>
</html
Espero vuestras respuestas porque llevo varios días con ello y me estoy volviendo loca.

Muchas gracias de antemano.