Foros del Web » Programando para Internet » PHP »

Mostrar datos entre combo select/menu list

Estas en el tema de Mostrar datos entre combo select/menu list en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 19/06/2013, 13:05
Avatar de kana_kanji2000  
Fecha de Ingreso: mayo-2013
Ubicación: Caracas
Mensajes: 15
Antigüedad: 10 años, 11 meses
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...
  #2 (permalink)  
Antiguo 19/06/2013, 14:34
Avatar de nicolasberro  
Fecha de Ingreso: junio-2013
Mensajes: 14
Antigüedad: 10 años, 10 meses
Puntos: 1
Respuesta: Mostrar datos entre combo select/menu list

Para poder hacerlo en PHP debes separar el proceso en distintas paginas, de manera que el servidor sepa que fuerza eligio el usuario en el primer combo, y asi le saldran los cargos correspondientes en el segundo. Recuerda que PHP se ejecuta del lado del servidor, y hasta que el cliente no le envie los datos al servidor, php no hace nada.
  #3 (permalink)  
Antiguo 19/06/2013, 14:39
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Mostrar datos entre combo select/menu list

Cita:
Iniciado por kana_kanji2000 Ver Mensaje
¿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?
Se puede ser solo con PHP? si, @nicolasberro te dio una posible solución.

Con AJAX no necesitas recargar la pagina .

Claro que debes de asociar las tablas si no como sabrías que datos pertenecen a que.

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.

Etiquetas: aplicacion, java, php+formularios, postgres, postgresql, server, sql
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 10:50.