Anduril escribió:Esa solución parece la más sencilla...
Y has mirado como hacer varios años??? Porque imagino que lo necesitarás para más de un año jaja. Podrías llamar a los meses Enero_2012, Febrero_2012 ..., y la misma tabla meses te valdrá hasta el infinito.
Total, luego para buscar deudores...
Select dni
from meses
where enero_2012 = 'no' or febrero_2012 = 'no', etc...
Cada mes añades el nuevo a la consulta, o por php creas un bucle que lance la query sin el 'or', desde el primer mes hasta el actual.
jorge_zk8 escribió:ahora mismo tengo una tabla usuarios con los datos del usuario y su DNI como Primary key. pero no se como hacer para que cada vez que me genere un usuario, me cree los meses y me ponga no pagado por defecto.
jorcoval escribió:Desde MySQL
creas la tabla de meses, en principio: dni enero febrero marzo... diciembre
y asignas al valor "mes" por defecto los valores "no"
Cuando crees un usuario, tienes que insertar además su dni en la tabla de meses, no hace falta introducir nada más, ya que el gestor introducirá por defecto los valores "no" en los respectivos meses.
Pues ahorrarte esa tabla y poner los meses en la tabla de usuarios. Pero no me gusta crear tablas monstruosas.
Así pues, crear la lista completa:
SELECT Usuarios.*, Cobros.*
FROM Usuarios, Cobros
WHERE Usuarios.dni=Cobros.dni
AND Usuarios.dni=[valor_a_buscar];
Cuando un usuario 1234567 pague el mes enero
UPDATE Cobros
SET enero="si"
WHERE dni=1234567;
jorge_zk8 escribió:Finalmente he usado este modelo, se que es menos profesional y más cutron, pero la pagina la va a usar mi madre (un hans topo en informática) y ella quería que le apareciera listado con los meses que ha pagado y que no ha pagado.
el tema de los años lo he dejado fuera, por que es para un curro temporal, en una "empresa" agena y cuando se le acabe el "curro" se llevará la pagina con ella (no les voy a regalar la pagina by the face).
Muchas gracias a todos =)!