PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dopplerproblem bei Förderung



Gyronimo
06.08.2010, 13:22
Hi!
Manche Seitenbetreiber haben ja Doppler mit einer Förderung.
Nun hat sich ich bei Gesprächen mit einem anderen Betreiber herausgestellt das mehrere in ihrem Dopplertopf speziell beim Klickdoppler, Unmengen an Losen drin haben die einfach nicht zur Auszahlung kommen.
Grund ist, das immmer nur einmal in diesem Fall im Topframe abgefragt wird ob der Dopplerpot größer/gleich als die nächste Az ist.

Um hier Abhilfe zu schaffen bedarf es nur einer einfachen Zählschleife in der dann immer wieder der Dopplerpot abgefragt wird ob ausreichend lose für die nächste Auszahlung vorhanden sind.
Hier ein Beispielcron anhand dem Klickdoppler von Skandal, sollte aber vom Grundprinzip auch mit jedem anderen Doppler funktionieren.


<!-- Potueberfuellung auszahlen by Gyronimo KID:289366 -->
<?
$x=0;
$z=50; // <-hier max. Durchlauf der Schleife festlegen
$pott_gut = mysql_fetch_assoc(db_query("SELECT * FROM ".$db_prefix."_klickdoppler_ein"));
while ($x < $z) {
$n_az = mysql_fetch_assoc(db_query("SELECT * FROM ".$db_prefix."_klickdoppler ORDER BY id ASC LIMIT 1"));
if($pott_gut['pott'] >= $n_az['summe_doppelt']) {
kontobuchung_no_bl ('+',$n_az['summe_doppelt'],$n_az['uid']);
db_query("DELETE FROM ".$db_prefix."_klickdoppler WHERE id='".$n_az['id']."'");
db_query("UPDATE ".$db_prefix."_klickdoppler_ein SET pott = pott - '".$n_az['summe_doppelt']."'");
buchungsliste_kd (create_code(14),$n_az['summe_doppelt'],'AZ-Klickdoppler',$n_az['uid']);
$pott_gut['pott'] -= $n_az['summe_doppelt']; // erneute db abfrage wird gespart
} else {
break;
}
$x++;
}
echo $pott_gut['pott'];
?>
Warum eine Zählschleife und nicht direkt der Vergleich Pot mit Auszahlsumme?

Ganz einfach: Wie gesagt manche haben Unmengen im Pot und das Script könnte sonst bei direktem Abfragen per while Schleife in einer Endlosschleife enden.
Getestet hab ich es bis 500 Durchläufe, da der Cron aber auch anzeigt wieviel Lose danach noch im Pot sind, kann man ja per neuladen den Cron mehrmals laufen lassen ohne im Admin nachzuguggen.
Script läuft in ähnlicher Form bei mir seit über einem Jahr tadellos!

LG Gyronimo