Foros del Web » Programando para Internet » PHP »

Sistema "de plantillas" para introducir datos en mysql

Estas en el tema de Sistema "de plantillas" para introducir datos en mysql en el foro de PHP en Foros del Web. Muy buenas. Estoy desarrollando una aplicación en php para gestionar eventos de carácter deportivo. El caso es que originalmente planifiqué la BBDD de tal manera ...
  #1 (permalink)  
Antiguo 11/12/2011, 14:43
Avatar de toledo_nocturno  
Fecha de Ingreso: agosto-2011
Ubicación: Under the northen star
Mensajes: 86
Antigüedad: 13 años, 3 meses
Puntos: 5
Sistema "de plantillas" para introducir datos en mysql

Muy buenas.

Estoy desarrollando una aplicación en php para gestionar eventos de carácter deportivo.

El caso es que originalmente planifiqué la BBDD de tal manera que una de las tablas contuviese varios campos propios de una actividad concreta (El id, id de la actividad, la fecha de solicitud, la cantidad pagada...), pero estoy pensando en adaptarla de tal manera que sirva para distintos tipos de actividades, y por tanto necesito conseguir que los campos sean "modulares".

Lo que quiero conseguir es, por ejemplo, crear una cantidad no limitada de "plantillas" con las que introducir y gestionar esos datos. Ejemplo:

Plantilla Futbol. Contiene los campos id_usuario, id_partida, fecha

Plantilla Baloncesto. Contiene los campos id_usuario, id_partida, alergias

Etc

De momento, he hecho una tabla que contiene los tipos de actividades, y otra tabla con los campos.

La parte "básica" no es problema: una tabla intermedia con id_campo, id_actividad y valor.

El problema está en cómo puedo relacionar todo esto, de un modo un poco más profundo, por ejemplo, para establecer un orden dinámico a la hora de presentar estos datos (El campo fecha puede aparecer en la posición 1 en la plantilla futbol y en la posición 7 en baloncesto)...

¿Se os ocurre alguna idea o ejemplo con el que pueda desliarme un poco?

Gracias de antemano!
__________________
diseño web | Clan Rol
  #2 (permalink)  
Antiguo 11/12/2011, 18:06
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 9 meses
Puntos: 177
Respuesta: Sistema "de plantillas" para introducir datos en mysql

Una tabla llamada datos contendrá los los campos, ej.
id_usuario
id_actividad
fecha
hora
goles
tantos
penales
goleadores

la otra las actividades(categorias).


en la tabla de datos debería haber un campo llamado categoría en donde insertas el id de la actividad, entonces dependiendo que que actividad sea se rellenarán los campos.
por ejemplo si es Fútbol se rellenarán los campos (en rojo)

id_usuario
id_actividad
fecha
hora
goles

tantos
penales
goleadores



si es Baloncesto:

id_usuario
id_actividad
fecha
hora

goles
tantos
penales
goleadores



Luego dependiendo de la categoría muestras los campos que pertenezcan.
EJ.: si es Fútbol no se mostrará el campo "tantos" ya que sería "goles"
Ej.: si es Baloncesto no se mostrarán "goles, penales" ya que serían tantos y no existen penales en Baloncesto

No se si entendí muy bien tu problema pero espero haberte ayudado
Espero que se entienda el ejemplo que puse







.
__________________
la la la
  #3 (permalink)  
Antiguo 12/12/2011, 02:37
Avatar de toledo_nocturno  
Fecha de Ingreso: agosto-2011
Ubicación: Under the northen star
Mensajes: 86
Antigüedad: 13 años, 3 meses
Puntos: 5
Respuesta: Sistema "de plantillas" para introducir datos en mysql

Hola Truman, muchas gracias por tu pronta y elaborada respuesta. Creo que la cosa va por donde tu me indicas. Como soy bastante novato en el tema php & sql, te planteo a las claras la idea que se me queda:

Campos

Categorías (Una categoría sólo pertenecería a un tipo de evento, para simplificar la gestión)

Campos_Categorías (Aquí no sólo anoto los IDs, sino también el orden dentro de la categoría)

¿No?

Luego, todo esto es para los campos de introducción de datos, pero se me ocurre que para hacer un sistema de ranking objetivo y global podría hacer otros tipo de campos que fuesen "autocalculados", de tal manera que yo pueda obtener que Campo3=Campo2-Campo1/2, y mi duda para estos campos "virtuales" si me compensa más hacer el cálculo y luego almacenar el dato en el sql, o si almacenar "la fórmula" y que cada vez que se acceda a la página se recalcule el dato.

¿Qué opinais?

¡Muchas gracias!
__________________
diseño web | Clan Rol
  #4 (permalink)  
Antiguo 12/12/2011, 08:39
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 9 meses
Puntos: 177
Respuesta: Sistema "de plantillas" para introducir datos en mysql

Es simple creas una tabla llamada "actividades" y otra llamada "datos"

Actividades tendrá los siguientes campos
id_actividad (unico y autoincrementable)
nombre_actividad (varchar)

entonces cada registro ingresado será por ejemplo:

id_actividad 1
nombre_actividad Baloncesto

id_actividad 2
nombre_actividad Futbol

Ahí tenés 2 registros ingresados, el id_actividad es el que será el campo en común entre las 2 tablas

La otra tabla será "datos" y tendrá los siguientes campos
id_usuario
id_actividad
fecha
hora
goles
tantos
penales
goleadores


(las tablas y campos podrán llamarse como quieras, este es solo un ejemplo)

En id_actividad de esta última tabla deberás ingresar el id de la actividad, si es Baloncesto será 1, si es Futbol será 2.. y así con todas las actividades que haya.
Luego para hacer una consulta de Baloncesto por ejemplo, deberás consultar la tabla "datos" y decirle que te muestre solo los que en el campo id_actividad tengan valor 1

Luego para hacer los calculos que tu dices, yo lo haría al momento de mostrar los datos, ya que si ingresas una nueva entrada no tendrás que modificar nada, pues automaticamente se calcularán al momento de mostrarlos.
Sino si guardas el resultado del cálculo deberás actualizarlo cada vez que ingreses nuevos datos.
__________________
la la la
  #5 (permalink)  
Antiguo 12/12/2011, 12:54
Avatar de toledo_nocturno  
Fecha de Ingreso: agosto-2011
Ubicación: Under the northen star
Mensajes: 86
Antigüedad: 13 años, 3 meses
Puntos: 5
Respuesta: Sistema "de plantillas" para introducir datos en mysql

Muchas gracias por las ideas. Así lo estoy haciendo, y esa parte funciona perfectamente.

Todavía tengo algunas pequeñas dudas, pero creo que podré resolverla por mi mismo escurriéndome un poco los sesos.

Muchas gracias!
__________________
diseño web | Clan Rol

Etiquetas: modular, mysql
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 21:49.