Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/04/2014, 17:34
Avatar de Djoaq
Djoaq
 
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 7 meses
Puntos: 38
Respuesta: ¿Cómo hacer esto? Recompensas.

Hola davidprogramacion este tema igual es mas de mysql que de php ... ,
para hacer algo así deberías tener un control en bd cada vez que entra el user e insertar en bd ...
y luego hacer una comprobación de puntos algo así ...

Código MySQL:
Ver original
  1. SELECT DATEDIFF(CURDATE(),'2014-04-19') from tabla where user id = numUsuario

la función Datediff te calcula los días entre rangos de fechas con lo que deberías cambiar la fecha que te he puesto por un una col que deberías crear en tu tabla user, por ejemplo FecUltimVisita .En esa columna cada vez que un usuario visite tu página y cargue tu script php primero de todo deberías hacer un update en FecUltimVisita ...

De esta manera podrás calcular si la salida de sql es ==1 entonces haces un insert en puntos!

Espero haberte ayudado !

Saludos.

Acabo de releer la pregunta y no entendí bien sorry...

Yo utilizaría el ejemplo de que te he puesto solo que si quieres que la puntuación apareciera con un día de retraso ...
en puntos ademas de controlar los puntos del user podrías controlar la fecha de recepción de esos puntos... de manera que pudieras leer cuando fue la ultima fecha de ese user que recibe puntos ... solo que al hacer el insert yo le añadiría la función mysql :
Código MySQL:
Ver original 

Así que a la hora de recuperar la fecha de visualización de los puntos .. esta tenga sumado 1 dia + .. es decir que si en tu php compruebas la fecha de aparición de esos nuevos puntos hasta el día siguiente no sera == true!

Saludos!

Última edición por Djoaq; 20/04/2014 a las 17:45 Razón: Me leí mejor la pregunta!