Hallo @ all ...
ist es möglich in den Birthday-Block (Birthday oder Birthday_2) ein zusätzliche Filter (DB-Abfrage) einzubauen, mit welcher das letzte Onlinedatum ermittelt wird, bzw mit dem ein bestimmter Wert vorgegeben wird? Beispiel: Nur wer in den letzten 14 Tagen eingeloggt war.
ZB in dieser Zeile:
$sql = "SELECT uname, (YEAR( CURRENT_DATE ) - YEAR( user_bday )) - ( RIGHT( CURRENT_DATE, 5 ) < RIGHT( user_bday, 5 ) ) AS user_age FROM {$user_prefix}_users WHERE MONTH(user_bday)=MONTH(CURRENT_DATE) AND DAYOFMONTH(user_bday)=DAYOFMONTH(CURRENT_DATE) AND YEAR(user_bday)<YEAR(CURRENT_DATE) AND user_stat=1 ORDER BY user_age DESC;";
$result = sql_query($sql);
Hintergrund:
Bei mir sind über 1000 User angemeldet. Damit stehen auch jeden Tag User im Geburtstagsblock. Auch die, die nur einmal eingeloggt waren -und seid dem nicht mehr. Da es bei meiner Com üblich ist Geburtstagskindern in der Pinwand und den eigenen GB´s zu gratulieren kann sich jeder vorstellen wieviel "überflüssige" Gratulationen da geschrieben werden.
Hmm hat keiner eine Idee? Bei vielen Usern wird der Block so leider fast unbrauchbar. Eben wegen oben beschriebenen Problem.....
... AND user_lastvisit> (UNIX_TIMESTAMP() - (14 * 82600)) ...
in den WHERE-Block dann müsste es gehen....
im Beispiel ist die 14 ist die Anzahl der Tage, die geprüft werden sollen, wo der User anwesend gewesen sein muss...
probier es mal aus....
Merci! Habs in den Birthday-Block eingebaut :)