Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

traer valor de base de datos a partir de un select option

Estas en el tema de traer valor de base de datos a partir de un select option en el foro de Mysql en Foros del Web. Buenos días a todos los foreros. Desde ayer que me encuentro con un problema que me tiene de la cabeza y lo que es peor ...
  #1 (permalink)  
Antiguo 23/03/2012, 08:37
 
Fecha de Ingreso: abril-2011
Mensajes: 49
Antigüedad: 8 años, 7 meses
Puntos: 3
traer valor de base de datos a partir de un select option

Buenos días a todos los foreros. Desde ayer que me encuentro con un problema que me tiene de la cabeza y lo que es peor aun que me imagino que debe de tener una solución super sencilla.

El tema es el siguiente, tengo un formulario de inscripción de alumnos que se ingresan a la base en la tabla "alumnos"con los campos "dni" "nombre_y_apellido" (campos de texto a rrellenar) "curso" "id_act_sct"(select option que me trae datos de la base). Los datos "curso" e "id_act_sct" estan en la base de datos en la tabla "curso". El problema está en que necesito que al seleccionar un curso del select option me lo relacione con el dato id_act_sct y me los muestre en el select option para posteriormente poder enviar todos esos datos a la tabla "alumnos" de la base de datos.
Espero no haber sido tan enrrollado en mi explicación y que me puedan entender.

Aqui dejo el print de pantalla del modulo "inscribir alumnos" para que se entienda mejor.



[URL="http://tinypic.com/view.php?pic=iggav4&s=5"]http://tinypic.com/view.php?pic=iggav4&s=5[/URL]
  #2 (permalink)  
Antiguo 23/03/2012, 08:58
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 11 años, 8 meses
Puntos: 574
Respuesta: traer valor de base de datos a partir de un select option

Tienes que refrescar el segundo select option... es decir que cuando se seleccione el curso, las opciones del siguiente combo sean las que estan relacionadas con ese curso...

Eso se puede hacer con AJAX haciendo una petición a la base de datos para que te retorne las opciones correctas.

O con javascript simple, primero cargas todas las opciones en un array con el id, el curso y la descripción y cuando tienes el curso las filtras....

Si buscas un poco encontraras infinidad de posts donde se habla del tema... "como cambiar opciones de un select en funcion de otro",...

Yo buscaria en el subforo de javascript puesto que de mysql no es el problema


SELECT id_act_sct FROM tabla WHERE curso=$curso
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 26/03/2012, 08:27
 
Fecha de Ingreso: abril-2011
Mensajes: 49
Antigüedad: 8 años, 7 meses
Puntos: 3
Respuesta: traer valor de base de datos a partir de un select option

Estimado ante todo dejarme agradecer por la rapidez de la respuesta.
Este finde de semana estube probando el ejemplo de este sitio [URL="http://www.miguelmanchego.com/2009/combos-dependientes-ajax-base-de-datos/"]http://www.miguelmanchego.com/2009/combos-dependientes-ajax-base-de-datos/[/URL] . El problema ahora está en que por un problema de caracteres no me trae el dato en el combo2, si por ej el nombre del curso esta sin acentos ni ñ me trae bien el dato pero de lo contrario no me trae nada. He antepuesto utf8_encode (nombre curso) en el value del option del combo1 pero sigue igual. Pienso que quizas desde la funcion javascript se podrá solucionar, pero no se como. Por favor despues de tantos intentos he podido lograr traer el valor y ahora me encuentro nuevamente trabado en esto, una ayuda por fa.

Aclaro que en el ejemplo el value del combo1 es un id y yo lo he modificado por el value nombre curso, si lo dejo con mi id curso funcioana perfectamente pero al momento de ingresar los datos a mi base me ingresa el id curso en lugar del nombre del curso, y en ese caso no me serviria
  #4 (permalink)  
Antiguo 27/03/2012, 02:05
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 11 años, 8 meses
Puntos: 574
Respuesta: traer valor de base de datos a partir de un select option

Por que ingresas el nombre del curso, ingresa el id.... el nombre del curso ya lo tines para que lo quieres otra vez....

TblCursos
idCurso
NombreCurso

si tienes esta tabla, en el resto de tablas solo tienes que guardar el idCurso, otra cosa seria un error de diseño.

en cunato a la codificación juega con utf8_encode() o utf8_decode() y htmlentities(), tambien tienes la propiedad .text (junto con .selectedIndex) del combo para acceder al texto y no al value....

Pero insisto si te llega correctamente el id lo tienes solucionado.... incluso con el error de diseño, antes de hacer el insert consulta el nombre del curso y lo guardas...(insisto otra vez, es un error).
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 27/03/2012 a las 02:17
  #5 (permalink)  
Antiguo 27/03/2012, 07:00
 
Fecha de Ingreso: abril-2011
Mensajes: 49
Antigüedad: 8 años, 7 meses
Puntos: 3
Respuesta: traer valor de base de datos a partir de un select option

Tema solucionado, y como siempre era mas facil de lo que uno pensaba. Lo explico como fue para cualquier persona que quiera hacer un select dependiente y le suceda lo mismo.
Despues de tantas vueltas y hasta meter mano en javascript lo que hice fue declarar una variable con el valor del curso que viaja por el POST y le antepuse el UTF8_DECODE, luego iguale esa variable en el WHERE de la consulta de la base de datos y listo, quedo de 10+iva.

Muchas gracias al foro por todo, sobre todo por haberme dado el indicio de los select dependientes.

Etiquetas: option, php, select, tabla, tracker, campos
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 01:52.