Wegen der Auszahlungen mach ich das einmal am Tag so:
Somit bleibt die gesamte Auszahlung erhalten und in der Tabelle steht einmal ein großer Auszahlungswert.Code:<?php @require_once('../lib/functions.lib.php'); db_connect(); $alle=mysql_fetch_array(db_query("SELECT `uid` FROM `vms_userdaten` ORDER BY `uid` DESC LIMIT 1")); //höchste uid auslesen $c=1; // erste uid # 30 Tage $dauer = 60*60*24*30; $frist = time()-$dauer; while($c<=$alle[uid]){ $summe=mysql_fetch_array(db_query("SELECT SUM(buchungsmenge) AS xxx FROM vms_buchungen WHERE buchungszeit<".$frist." AND (verwendungszweck='Auszahlung') AND uid=".$c."")); //gesamtauszahlungssumme des users bis zur frist auslesen if ($summe[xxx]){ //wenn summe vorhanden - bei bis dahin nicht ausgezahlt, hat summe keinen wert echo "User ".$c." wird bereinigt - ".$summe[xxx]."<br>"; db_query("DELETE FROM vms_buchungen WHERE buchungszeit<".$frist." AND (verwendungszweck='Auszahlung' OR verwendungszweck='Auszahlung') AND uid=".$c.""); //alte auszahlungen löschen db_query("INSERT INTO vms_buchungen (uid,buchungszeit,buchungs_id,buchungsmenge,verwendungszweck) VALUES ('".$c."', '".$frist."', '', '".$summe[xxx]."', 'Auszahlung')"); //neue auszahlungssumme eintragen } $c++; //nächster user } db_close(); ?>
Also statt:
-3000
-3423
-7945
steht da nun
-14368.
Wenn man jeden Tag hunderte Auszahlungen machen muss, dann geht da schon einiges in die Datenbank und so bleiben dann auch die Mediadaten und Statpicker so wie sie waren.![]()




Zitieren