Stimmt. Ich werde das mal im Laufe der Nacht probieren :) Danke schon mal für deine Mühe :)
Druckbare Version
Stimmt. Ich werde das mal im Laufe der Nacht probieren :) Danke schon mal für deine Mühe :)
Also bei mir sieht das jetzt so aus:
PHP-Code:
// AP abfragen
$ap = mysql_fetch_array(db_query("SELECT `eintap` FROM ".$db_prefix."_kontodaten"));
Beim ausführen des Crons kommt dann immer:PHP-Code:
// Ebene 1
$refebene_1 = db_query ("SELECT `uid`,`umsatz`,`werber`,`refback`,`gesamt` FROM ".$db_prefix."_werberdaten WHERE werber='".$refliste_1['uid']."'");
while ($anzeigen_1 = mysql_fetch_array($refebene_1)) {
$verdienst = $verdienst + ($anzeigen_1['umsatz']/100*$refdaten['re1']);
$pro_verdienst = $anzeigen_1['umsatz'] / 100 * $refdaten['re1'];
db_query ("UPDATE ".$db_prefix."_werberdaten SET gesamt=gesamt+'".$pro_verdienst."' , reset=reset+'".$pro_verdienst."' WHERE uid='".$anzeigen_1['uid']."'");
if ($anzeigen_1['refback'] >= 1 && ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback'] >= 0.01) {
$buchungs_id = create_code(14);
$refback = ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback'];
kontobuchung ('+',$refback,$anzeigen_1['uid']);
buchungsliste ($buchungs_id,'+'.$refback,'Refback '.$anzeigen_1['refback'].'% ('.$refliste_1['uid'].')',$anzeigen_1['uid']);
buchungsliste ($buchungs_id,'-'.$refback,'Refback '.$anzeigen_1['refback'].'% gezahlt ('.$anzeigen_1['uid'].')',$refliste_1['uid']);
$pro_verdienst = $pro_verdienst - $refback;
$refback = 0;
$buchungs_id = '';
}
if ($ap >= 1 ) {
kontobuchung ('+',$pro_verdienst,$refliste_1['uid']);
$pro_verdienst = 0;
}
Die Refvergütung wird aber trotzdem gutgeschrieben, obwohl 0 AP.Zitat:
Warning: vsprintf() [function.vsprintf]: Too few arguments in /var/www/web126/html/Losekiller/lib/functions.lib.php on line 40
Warning: vsprintf() [function.vsprintf]: Too few arguments in /var/www/web126/html/Losekiller/lib/functions.lib.php on line 40
Cron gelaufen
Der Cron läuft ohne Fehler durch, nur hab ich keinen User der einen geworben hat der gerade klickt. Nur so wird das doch noch immer in den Kontoauszug des User geschrieben was er verdient hat.PHP-Code:
$bp = mysql_fetch_array(db_query("SELECT `bp` FROM ".$db_prefix."_kontodaten"));
if ($bp >= 1 ) {
kontobuchung ('+',$pro_verdienst,$refliste_1['uid']);
$pro_verdienst = 0;
}
Die Datenbankabfrage ist falsch.
So hab ich das. Mal sehn ob es richtig ist.PHP-Code:
// Aktivpunkte Prüfen
$bp = mysql_fetch_array(db_query("SELECT `bp` FROM ".$db_prefix."_kontodaten WHERE uid=$refliste_1['uid']);"));
// Prozente laden!
$refdaten = mysql_fetch_array(db_query("SELECT `re1`,`re2`,`re3` FROM ".$db_prefix."_seitenkonfig"));
// Userdurchlauf
$refliste = db_query ("SELECT * FROM ".$db_prefix."_werberdaten");
while ($refliste_1 = mysql_fetch_array($refliste)) {
$verdienst = 0;
// Ebene 1
$refebene_1 = db_query ("SELECT `uid`,`umsatz`,`werber`,`refback`,`gesamt` FROM ".$db_prefix."_werberdaten WHERE werber='".$refliste_1['uid']."'");
while ($anzeigen_1 = mysql_fetch_array($refebene_1)) {
$verdienst = $verdienst + ($anzeigen_1['umsatz']/100*$refdaten['re1']);
$pro_verdienst = $anzeigen_1['umsatz'] / 100 * $refdaten['re1'];
db_query ("UPDATE ".$db_prefix."_werberdaten SET gesamt=gesamt+'".$pro_verdienst."' , reset=reset+'".$pro_verdienst."' WHERE uid='".$anzeigen_1['uid']."'");
if ($anzeigen_1['refback'] >= 1 && ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback'] >= 0.0000001) {
$buchungs_id = create_code(14);
$refback = ($anzeigen_1['umsatz']/100*$refdaten['re1'])/100*$anzeigen_1['refback'];
// Abfragen ob genügend Aktivpunkte vorhanden dann erst buchen
if ($bp >= 1) {
kontobuchung ('+',$refback,$anzeigen_1['uid']);
}
buchungsliste ($buchungs_id,'+'.$refback,'Refback '.$anzeigen_1['refback'].' Proz. ('.$refliste_1['uid'].')',$anzeigen_1['uid']);
stg_bilanz (0,$verdienst,RefBack,"RefBack");
buchungsliste ($buchungs_id,'-'.$refback,'Refback '.$anzeigen_1['refback'].' Proz. gezahlt ('.$anzeigen_1['uid'].')',$refliste_1['uid']);
$pro_verdienst = $pro_verdienst - $refback;
$refback = 0;
$buchungs_id = '';
}
kontobuchung ('+',$pro_verdienst,$refliste_1['uid']);
$pro_verdienst = 0;
EDIT
Nein, es kommt immer folgende Fehlermeldung.
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ..................................../crons/refzahlungen.knt.php on line 2
Die Fehlermeldung sagt es ja schon aus, in der Zeile:
ist ein Syntaxfehler, speziell:PHP-Code:
$bp = mysql_fetch_array(db_query("SELECT `bp` FROM ".$db_prefix."_kontodaten WHERE uid=$refliste_1['uid']);"));
"SELECT `bp` FROM ".$db_prefix."_kontodaten WHERE uid=$refliste_1['uid']);"
darin der Array Zugriff:
$refliste_1['uid']
Versuchs mal so:
Die schließende runde Klammer im Query ist auch falsch (hat aber nicht den Fehler ausgelöst).PHP-Code:
$bp = mysql_fetch_array(db_query("SELECT `bp` FROM ".$db_prefix."_kontodaten WHERE uid=".$refliste_1['uid']));
Möglichkeiten:
PHP-Code:
$var = "$array[key]";
PHP-Code:
$var = "{$array['key']}";
Falsch:PHP-Code:
$var = "".$array['key']."";
PHP-Code:
$var = "$array['key']";
PHP-Code:
$bp = mysql_fetch_array(db_query("SELECT `bp` FROM ".$db_prefix."_kontodaten WHERE uid=".$refliste_1[uid].""));
if ($bp >= 0.5) {
kontobuchung ('+',$refback,$anzeigen_1['uid']);
buchungsliste ($buchungs_id,'+'.$refback,'Refback '.$anzeigen_1['refback'].' Proz. ('.$refliste_1['uid'].')',$anzeigen_1['uid']);
}
Mach ich es nun so, werden bei ausführung des Refvergütungscron beides Ausgeführt Kontobuchung sowie der eintrag in den Kontoauszug. Wieso?