Ver Mensaje Individual
  #13 (permalink)  
Antiguo 25/04/2005, 11:11
Avatar de Neuron_376
Neuron_376
 
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años
Puntos: 2
Ok

Me referia a tu metodo, donde dices:

-----------------

creo que tendrias que hacer una funcion que te recorra un rango de fechas por ejemplo
seleccionas desde - hasta

desde=01/04/2005
hasta=10/04/2004

entonces aqui nuestra funcion tendria que saber cuantos dias hay en este rango

01/04/2005
02/04/2005
03/04/2005
04/04/2005
............
10/04/2005

y los guardas en un arreglo

despues con un for haces una consulta que te recorra la bd con cada dia y el codigo del cliente y guardas en un arreglo los dias que no te depositó...

-----------------

Es dodigo duro porque tienes que establecer la fecha, igual, y luego una consulta para cada fecha (N consultas), entonces, bueno, esta funcion lo mas seguro es que sea necesaria, pero en una interface donde dice: Este reporte lo quieres desde X hasta Y fecha, ahi si lo necesita.

Para las fechas, necesita un log afuerzas, sino en la misma tabla tendra N datos repetidos para poder tener fechas acumulables, por eso las dos tablas separadas, una para datos del usuario y aparte una tabla de Log's (Depositos), entonces con ese metodo lo unico que digo es que podra lograr lo que necesita, y ademas le servira para futuros reportes, como:

1. Que dias deposito X cliente?
2. Numero de depositos por cliente:
3. Depositos en X mes
4. Etc....

Todo eso con 1 sola consulta al database.

Bueno, esa es mi opinion, el cierto pregunto algo pequeño, pero la solucion que estaban ofreciendo era muy basica, o bien exacta al problema pero ineficiente, yo solo propongo un rediseño de la base de datos donde tenga mayor flexibilidad y aclaro que hacer N consultas por fecha es muy ineficiente, y que una manera eficiente (tal vez no la mejor), es este metodo de tablas.

Tu metodo:

1. Rango de fechas
2. Arreglo que tiene todas las fechas intermedias
4. Consulta a la base de datos para cada fecha.

El problema de el se resulve con esto:

1. Dime la fecha que necesitas:
2. Consulta la base de datos y si no encuentras esta fecha entonces NO DEPOSITO

Metodo de Logs que propuse:

1. Rango de fechas --> Si el lo necesita, desde un formulario
2. Arreglo de 7 dias = (Lunes, Martes, Miercoles, Jueves, Viernes)
3. Consulta al log del usuario segun las fechas puestas (una sola consulta)
4. Recorrer ese arreglo 1 vez y decir que dias no deposito.

El problema de el se resuelve con esto:

1. Dime que fecha necesitas:
2. Consulta a la tabla de logs, si no encuentra esta fecha entonces NO DEPOSITO.

Entonces, el sistema de Logs lo unico que veo de ventaja es que ofrece mas flexibilidad y ademas es mas eficiente la forma de atacar el problema.

Ese es mi punto de vista.

Suerte!!