Foros del Web » Programando para Internet » PHP »

Tabla que pueda ampliar sus filas on line

Estas en el tema de Tabla que pueda ampliar sus filas on line en el foro de PHP en Foros del Web. Hola estimados amigos, ** Aca les traigo otra consulta de tantas que he hecho en este foro del cual estoy super agradecido por la atención ...
  #1 (permalink)  
Antiguo 09/02/2006, 15:07
Avatar de Juanmax  
Fecha de Ingreso: diciembre-2005
Ubicación: Paraná, Entre Ríos , Argentina
Mensajes: 90
Antigüedad: 18 años, 4 meses
Puntos: 0
Tabla que pueda ampliar sus filas on line

Hola estimados amigos,

** Aca les traigo otra consulta de tantas que he hecho en este foro del cual estoy super agradecido por la atención y la ayuda desinteresada que brindan a diario. **

Estoy construyendo un sistema de gestión académica y estoy desarrollando el módulo que permite la inscripción para rendir exámenes finales. Resulta que ya tengo el diseño de la BD super terminado y en esta parte la tabla correspondiente es una que contiene:
-Un código de mesa examinadora
-Un código (o nombre corto) de la materia
-Fecha
-Tres campos donde se alojan los apellidos de los profesores del tribunal

Para realizar una inscripción mas prolija se me ocurre que lo mejor es un campo seleccionable que capture estos registros de la BD. Ahora la pregunta concreta es:

¿Como puedo lograr que con algun control se me agregue otro combo box debajo del primero?
¿Deberé desarrollar una tabla que en forma dinámica agregue filas? - Si es así no tengo idea como hacerla.


Desde ya agradecido al foro por la ayuda y por mi aprendizaje continuo.!!

JUANMAX
  #2 (permalink)  
Antiguo 09/02/2006, 15:55
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
Una pregunta, Juanmax, tú quieres que se agregue otro combo box debajo del primero, pero lo que no entiendo es:

Pondrás un combo box y dependiendo de lo que se marque en el formulario se incluirá uno abajo?

Pondrás dos combo box, pero el segundo se activará dependiendo de lo que se marque en el formulario?

Quizá con un ejemplo de qué es lo que necesitas quede más claro, un saludo compa.
  #3 (permalink)  
Antiguo 09/02/2006, 16:19
Avatar de Juanmax  
Fecha de Ingreso: diciembre-2005
Ubicación: Paraná, Entre Ríos , Argentina
Mensajes: 90
Antigüedad: 18 años, 4 meses
Puntos: 0
Lo que colocaría es un solo combo box y dependiendo de 'algun control' se agreguen tantos como inscripciones a exámenes necesite el alumno.
Ejemplos de código no tengo porque solo estoy tratando de digerir un diseño de desarrollo.

Para ser un poco de ejemplo textual te diría que la cuestión es que no sabes cuántas materias va a rendir cada alumno y cada examen tiene un código de registro de mesa que se encuentra en la DB, ahí esta el problema.

Saludos,

JUANMAX
  #4 (permalink)  
Antiguo 09/02/2006, 16:44
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

mmm lo que quieres es posible pero con Javascript... Te sugiero realizar tu pregunta en el Foro de Javascript o bien buscar en las FAQ's de ese foro seguramente ese tema se ha tratado con anterioridad.
  #5 (permalink)  
Antiguo 09/02/2006, 16:59
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
Exacto, con Javascript.

Con PHP podrías sólo "emularlo", y esto podrías lograrlo cargando la página cada vez que el usuario desee inscribir otra materia. Déjame explicarme mejor:

Dentro de tu form, pon un combo box, deja que el usuario pueda presionar dos tipos de botones de formulario, uno que diga terminar registro y otro que diga inscribir otra materia.

Si presiona terminar registro, ya sabrás cómo continuar tu form, pero si presiona en inscribir otra materia, carga de nuevo el formulario actual, pero agrega un combo box adicional, para que el usuario pueda elegir otra materia.

El formulario podrá cargarse tantas veces como el usuario requiera inscribir materias.

Aunque como dice mauled, con Javascript sería una forma más natural de hacerlo y mejor para tus usuarios (para evitar tanta recarga de páginas).

Desde mi punto de vista, la mejor forma sería con AJAX, pero también es la más complicada, yo personalmente no he entendido todavía el concepto, jeje.
  #6 (permalink)  
Antiguo 09/02/2006, 17:05
Avatar de Juanmax  
Fecha de Ingreso: diciembre-2005
Ubicación: Paraná, Entre Ríos , Argentina
Mensajes: 90
Antigüedad: 18 años, 4 meses
Puntos: 0
comprendo la idea. Pero que sería cargar nuevamente la página con un combo box adicional ?..
Te referis a un header() hacia otra página con dos combo box... o cual es la idea puntual?

Gracias

JUANMAX
  #7 (permalink)  
Antiguo 09/02/2006, 17:21
Avatar de uamistad  
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
hacia la misma página

Hacia la misma página, me refiero a que el action=$_SERVER['PHP_SELF'], de esa manera la página que será cargada será la misma.

Claro que de esa forma, la página que alberga el formulario no será estática, tendrá que ser dinámica forzosamente.

Al momento de que hace click en el botón Inscribir otra Materia, no sólo se llamará a sí mismo, sino que tu formulario deberá ser capaz de insertar la materia que ya eligió dentro de una variable de sesión. Esto antes de pintar el formulario.

Ahora, durante el proceso de mostrar el formulario, tienes que verificar en tus variables de sesión cuántas materias se han registrado anteriormente y mostrar los input correspondientes, pero ahora llenos.

Te podrías ayudar (podría haber forma más fácil, pero esta es la que se me ocurre), con las siguientes variables de sesión:

$num_materias; te ayuda a saber cuántas materias ha metido, se incrementará cada vez que el usuario inscriba una materia.

$materia_1, $materia_2, $materia_3, etc. Serán las materias que ha inscrito.

Así, a la hora de pintar el formulario, podrías automatizar cada uno con un for, ejemplo:

Código PHP:
//pinta las materias previamente seleccionadas.
for($i=0;$<=$num_materias$i++)
  echo 
"<input type=\"text\" name=\"materia_$i\" value=\"$($materia_$i)\""
Nota que value es una variable-variable, no sé si esté bien la sintaxis, pero es la idea.

No estaría mal que a un lado de cada materia pusieras un check box, seleccionado como ON por default, para que si alguien se arrepintiera de inscribir una materia, nada más la pone en OFF y la siguiente vez que se recargue el fomrulario, desaparezca de la lista. (tu script se estaría pareciendo a un carrito de compras, no? )

Bueno, es la idea que se me ocurre para "emularlo".
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 13:00.