Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/06/2013, 13:05
Avatar de kana_kanji2000
kana_kanji2000
 
Fecha de Ingreso: mayo-2013
Ubicación: Caracas
Mensajes: 15
Antigüedad: 11 años
Puntos: 0
Exclamación Mostrar datos entre combo select/menu list

Saludos a todos(as). Esta duda que tengo es punitiva, y necesito tener la solución en el menor tiempo posible. Necesito que, cuando haga la llamada a un select/menu list, de un juego de registros en una BD, me aparezcan algunas opciones filtradas. Me explico. Este es el ejemplo:
Código HTML:
<td width="40%" class="content-text">Componente</td>
    <td width="2%">&nbsp;</td>
    <td width="58%"><select name="componente" id="componente">
      [HIGHLIGHT="PHP"]<?php
    	while($comp = pg_fetch_array($componente)){
			echo "<option value=\"$comp[idcomponente]\">$comp[componente]</option>";
		}
	?>[/HIGHLIGHT]
    </select></td> 
Esta tabla llama 4 registros:
1;"''"
2;"Armada"
3;"Aviación"
4;"Ejército"
5;"Guardia Nacional"

Pues quiero que, luego de elegir alguna de estas opciones, me cargue el segundo combo select/menu list, que se ve así:
Código HTML:
Ver original
  1. <tr>
  2.     <td class="content-text">Grado</td>
  3.     <td>&nbsp;</td>
  4.     <td><select name="grado" id="grado">
  5.       [HIGHLIGHT="PHP"]<?php
  6.         while($gradomil = pg_fetch_array($grado)){
  7.             echo "<option value=\"$gradomil[idgrado]\">$gradomil[grado]</option>";
  8.         }
  9.     ?>
</select></td>
</tr>[/HIGHLIGHT]

Este combo carga varios registros, pero yo quiero que si escojo, por ejemplo "Ejército", me muestre:
2;"General en Jefe"
3;"Mayor General"
4;"General de División"
5;"General de Brigada"
6;"Coronel"
7;"Teniente Coronel"
(...)

y si escojo la opción 2, sólo muestre esto:
2;"Almirante en Jefe"
3;"Almirante"
4;"Vicealmirante"
5;"Contralmirante"
6;"Capitán de Navío"
7;"Capitán de Fragata"
(...)

[Bueno, no sé cómo sea en su país, pero donde yo estoy, la clasificación militar es así: del primero aplica para Ejército/Aviación/Guardia Nacional, y el segundo sólo para Armada. Hay un grado que es igual para los componentes, sólo cambia es la imagen del grado que posea (pero eso no lo tengo colocado ni en la BD ni en el código, porque es irrelevante].

¿Se puede resolver esto sólo con PHP o debo aprender AJAX para que haga la carga automática? Se deberá hacer una asociación en la BD entre el valor del componente y del grado para hacer el filtro? Me estoy enredando con todo esto...