Foros del Web » Programando para Internet » PHP »

3 select asociados, uno de ellos cargado de una base de datos

Estas en el tema de 3 select asociados, uno de ellos cargado de una base de datos en el foro de PHP en Foros del Web. ..............................................
  #1 (permalink)  
Antiguo 15/02/2006, 08:53
 
Fecha de Ingreso: noviembre-2005
Ubicación: venezulea
Mensajes: 214
Antigüedad: 18 años, 5 meses
Puntos: 0
Pregunta 3 select asociados, uno de ellos cargado de una base de datos

...........................................

Última edición por ostayde; 16/02/2006 a las 08:13 Razón: otro enfoque
  #2 (permalink)  
Antiguo 15/02/2006, 09:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Tienes un ejemplo en las FAQ's del foro PHP.
http://www.forosdelweb.com/showthrea...999#post664999

La solución "PHP" recarga toda la página al cambiar una de tus opciones del elemento "padre". Si no te agrada la recarga de página tendrás que ver soluciones basadas en "Remote Scripting", "Ajax" o hibridos Javascript+PHP

Algunas de estas soluciones las tienes en este mensaje:
http://www.forosdelweb.com/f127/ejemplos-pulldown-dependiente-ping-pong-366079/

Un saludo,
  #3 (permalink)  
Antiguo 15/02/2006, 09:37
 
Fecha de Ingreso: noviembre-2005
Ubicación: venezulea
Mensajes: 214
Antigüedad: 18 años, 5 meses
Puntos: 0
.................................................. ...........

Última edición por ostayde; 16/02/2006 a las 08:13
  #4 (permalink)  
Antiguo 15/02/2006, 10:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si te fijas en el ejemplo que te indiqué de las FAQ's del foro PHP .. veras que el evento "onChange" se usa igualmente ... pero lo que hacemos en ese ejemplo es "recargar la página" y pre-establecer los valores del primer "select" a lo que seleccionastes y en base al dato que envias (la opción seleccionada del primer <select>) así se consulta a tu BBDD y se genera el 2° <select> dependiente.

De hecho lo más "sano" es que los datos de todos los "select" que intervienen estén en Base de datos para establecer las relaciones pertinenetes y "jugar" con esos datos para obtener los que necesitas.

Un saludo,
  #5 (permalink)  
Antiguo 15/02/2006, 12:48
 
Fecha de Ingreso: noviembre-2005
Ubicación: venezulea
Mensajes: 214
Antigüedad: 18 años, 5 meses
Puntos: 0
.................................................. .....

Última edición por ostayde; 16/02/2006 a las 08:14
  #6 (permalink)  
Antiguo 15/02/2006, 12:56
 
Fecha de Ingreso: noviembre-2005
Ubicación: venezulea
Mensajes: 214
Antigüedad: 18 años, 5 meses
Puntos: 0
.................................................. .................

Última edición por ostayde; 16/02/2006 a las 08:14
  #7 (permalink)  
Antiguo 16/02/2006, 05:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero vamos a ver ...

Empezemos por el principio.

Si tu quieres tener "relacionado" un par de juego de datos ("dos tablas") .. aunque una la generes de forma "fija" como lo haces ahora. NECESITAS tener un campo en tu 2° tabla (o mejor dicho tabla "hija") que haga de "clave foránea" .. es decir, que haga esa relación . .por la cual TU vas a realizar una consulta SQL a esa tabla y obtener sólo los registros de esta tabla "normalizados" por ese campo y valor de este.

Esto mismo es lo que explicar y así podrás ver si ves bien las tablas del ejemplo que te dejé link que tienes en las FAQ's.

Si no haces eso primero .. da igual lo que hagas despues; nunca tendrás el "parámetro" por el cual "relacionas"!!!.

Un saludos,
  #8 (permalink)  
Antiguo 16/02/2006, 07:45
 
Fecha de Ingreso: noviembre-2005
Ubicación: venezulea
Mensajes: 214
Antigüedad: 18 años, 5 meses
Puntos: 0
asociación de 3 select, uno de ellos se carga de una base de datos

Voy a comenzar de nuevo expliacndo lo que tengo que hacer:

1.)SELECT 1: Tengo mi primer select fijo, el cual va a tener el onchange, ya que dependiendo de lo seleccionado a través de una función javascript le paso la variable donde se encuentra el resultado del query que yo deseo mostrar al segundo select.

2.)SELECT 2: Este select no es fijo, además es de multiple selección, el mismo muestra el resultado del query, este resultado repito es de acuerdo a lo seleccionado en el primer select. Aqui el usuario visualiza los datos de un query en filas y debe poder seleccionar las opciones que desee.

3.)SELECT 3: Este select es de selección multiple, el mismo debe mostrar lo que seleccione el usuario en el select 2. Por ejemplo el usuario eligio dos opciones del select 2 entonces al presionar un boton las mismas aparecen en el select 3. En este select 3, el usuario tambien debe poder seleccionar una opcion de las que coloco anteriormente y eliminarlas.


Explicación: Selecciono una opción de mi select 1, luego selecciono del select 2 las opciones que yo considere y al presionar un boton dichas opciones aparecen en mi select 3. si me arrepiento de lo que pase hacia mi select 3, debo poder seleccionar la opcion de mi select 3 y eliminarla.
Luego selecciono otra opcion de mi select 1 y me aperece otras opciones en mi select 2, escojo las que desee y las paso al presionar un boton a mi select3. Entonces en mi select 3 voy a tener las opciones actuales mas la seleccionadas anteriormente. (deben conservarse todas las opciones seleccionadas del select2 en el select3).

Tengo una idea encaminada de como hacerlo pero quisiera opiniones a ver si cambio de idea, más no tengo un código definido aún.

Muchas gracias, agradeceria su ayuda....

Última edición por ostayde; 16/02/2006 a las 07:50 Razón: otro enfoque
  #9 (permalink)  
Antiguo 16/02/2006, 07:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ok, Ok, Ok ...

Pero de todas forma no aclaras o no ves claro que DEBES tener un campo más extra en tu tabla de tu BBDD "2" que tal dado "depende" del otro.

Por ejemplo:

id_tabla
id_relacion
dato

sería:

1 <-- registro 1 de tu tabla 2
2 <-- depende de "Menú principal".
nose

2 <-- registro 2 de tu tabla 2
4 <-- depende de "Banners"
otro dato

Lo ves claro ya?

Todo esto es para que cuando tu selecciones una opción de tu "<select>" primero .. puedas mandar a ejecutar una consulta SQL filtrando los resultados de esa consulta por el parámetro que dependad.

El hecho de que tu 2° listado (<select>) sea multiple o no .. es lo de menos para el tema de la "relación" en sí ..

Por lo mismo ... no costaría nada tener una BBDD más para tus datos del primer "select" y tener así realmente un sistema modular bueno. Que pasaría si añades una opción nueva a tu 1er <select>? .. tendrías que hacerlo sobre el código "HTML" .. si usas una BBDD . .sólo añades un registro más y listo .. te olvidas de todo. Esto es justamente lo que define y hace la dichosa FAQ que tanto te insisto que entiendas como funciona y sober todo que la pruebes. Si lo que te preocupa es que el 2° select no es "multiple" . .ya te digo que -dá lo mismo- le pones "multiple" al ejemplo en la definición del <select > segundo y listo ya tienes tu ejemplo hecho. Sólo cambiará la forma en la que recibes los datos (del select 1 opción seleccionada y del 2° que será un "array" no un elemento fijo).

Un saludo,
  #10 (permalink)  
Antiguo 16/02/2006, 08:08
 
Fecha de Ingreso: noviembre-2005
Ubicación: venezulea
Mensajes: 214
Antigüedad: 18 años, 5 meses
Puntos: 0
Modificar la base de datos es imposible no puedo, no tengo privilegios y no me los van a dar. Yo voy a desarrollar el codigo sin FAQ y te lo muestro.
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 16:21.