Wie frequentiert ist denn deine Seite?
Wenn du nämlich jeden Tag mindestens einen Besucher hast, dann kannst du das ganz einfach machen
Du holst dir über date() das aktuelle Datum (da reicht ja der Tag) und wenn das dann 1 ist, dann lässt du deine Abfrage durchführen. (Würde ich am besten unter der Navigationsleiste includen, dann wird's sicher geladen)
und dann:
if(datum passt) {
UPDATE table set rang = rang+1 where posts > 100
DELETE * from login
}
(syntaktisch nicht richtig)