PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ralleygewinne in Buchungen schreiben



eaxo
01.06.2008, 11:37
Hallo, nachdem ich jetzt wieder und wieder gesucht hab bitte ich mal um Hilfe.

Wenn die Ralley abgelaufen ist klicke ich auf "Auswerten". Die Ralleygewinne werden den Usern gutgeschrieben, soweit so gut.

Allerdings tauchen diese Buchungen nicht in den Listen auf.
Ich habe irgendwo (immer nur hier) gelesen, das darauf verzichtet wurde um die Datenbank zu schonen. Da meine Ralleys jedoch mindestens 30 Tage laufen wäre die Datenbankbelastung eher gering.

Die Lösung aus einem VMS1-Thread einfach "Konto" gegen "+" zu tauschen bringt nichts.

Ich habe jetzt wieder die Originaldatei oben, wenn mir jemand nen Tip, Link, Code geben könnte wäre ich sehr dankbar.

Eaxo

jpwfour
01.06.2008, 11:50
also bei den standad ralleys, die im vms 1.2 dabei sind, werden die ralley gewinne afaik auch in die buchungslisten geschrieben??


buchungsliste ($buchungs_id,'+'.$buchungssumme,'Aktivralley (Platz '.$rp.')',$pa['uid']);

z.bsp. so in der aktivralley.

wenn es sich um andere ralleys handelt, musst du haltnur nach kontobuchung();
noch den aufruf buchungsliste() einfügen, und mit den richtigen werten "füttern", diese kannst du meist aus der funktion kontobuchung() übernehmen.

eaxo
01.06.2008, 11:58
Hallo,

ich habs so - also mit dem + , es funzt aber nicht. Das ist es ja grad was mich verzweifeln lässt.

adminforce/content/ralleysystem/klick.php:

// Ralley auswerten
if ($_POST['auswerten'] == 'Auswerten') {
$platz = db_query("SELECT * FROM ".$db_prefix."_klickralley WHERE klicks >= 1 ORDER BY klicks DESC LIMIT ".$ralleydaten['plaetze']."");
while ($pa = mysql_fetch_array($platz)) {
$rp++;
if ($ralleydaten['art'] == 'statisch') {
$buchungssumme = $ralleydaten['p'.$rp];
} else {
$buchungssumme = $ralleydaten['jackpot'] / 100 * $ralleydaten['p'.$rp];
}
// Buchungen durchführen
db_query("UPDATE ".$db_prefix."_klickralley SET ausgezahlt = '".time()."' WHERE uid='".$pa['uid']."'");
$buchungs_id = create_code(14);
kontobuchung ('+',$buchungssumme,$pa['uid']);
buchungsliste ($buchungs_id,'+',$buchungssumme,'Klickralley (Platz '.$rp.')',$pa['uid']);
bilanz (0,$buchungssumme);
}
}

eaxo

jpwfour
01.06.2008, 12:46
buchungsliste ($buchungs_id,'+'.$buchungssumme,'Klickralley (Platz '.$rp.')',$pa['uid']);nach dem '+' (plus) gehört statt dem , (Komma) ein . (punkt)


function buchungsliste ($buchungs_id,$trans_menge,$verwendung,$fuer)

buchungsliste() erwartet 4 werte, in deinem fall werden aber durch das komma 45 werte übergeben, was natürlich total falsch ist, wenn man aber statt dem komma einen punkt hinmcaht, ist der 2 wert ($trans_menge) wieder so, wie er sein sollte, nämlich eine kombination aus dem vorzeichen und dem wert:
$menge = 100;
'+'.$menge = '+100'

eaxo
01.06.2008, 13:19
nach dem '+' (plus) gehört statt dem , (Komma) ein . (punkt)
So muss es sein, tausend Dank.

Das hätte ich vermutlich nie gefunden.

Aus Fehlern lernt
eaxo