kleine info zu dem while: also wenn du aus versehen mehrere datensätze in der Tabelle vms_start_praemie drin hast, dann bekommen die beiden variablen bei verwendung der while-schleife halt die werte des letzten zurückgelieferten datensatzes zugewiesen.
hat jetzt aber nichts mit deinem problem zu tun.
mit folgendem code (ungetestet) bekommen die variablen dann die werte des ersten zurückgelieferten datensatzes zugewiesen statt die des letzten:
bei mir ist die while-schleife auch drin .. keine probleme.PHP-Code://Anmeldebonus
$req=mysql_query("SELECT werberpraemie, startguthaben FROM ".$db_prefix."_start_praemie");
if (mysql_num_rows($req)>0) {
$row = mysql_fetch_array($req));
$werberpraemie=$row['werberpraemie'];
$startguthaben=$row['startguthaben'];
}
du solltest die Prämien nur gutschreiben, wenn (= if) KEIN (= !) fehler (= $error) aufgetreten ist ...=> if(!$error)... wie eRaaa schon sagte.
bei mir ist der ganze block mit einem if(!$error) umschlossen, in etwa so:
wenn man nicht weiss warum man welchen code schreibt: ich kann jedem nur das PHP-Handbuch im CHM-Format ans Herz legen. gibt es auch weitestgehend auf deutsch. PHP-MySQL-Tutorials gibts auch viele im Netz.PHP-Code://Anmeldebonus
if(!$error){
$req=mysql_query("SELECT werberpraemie, startguthaben FROM ".$db_prefix."_start_praemie");
while ($row = mysql_fetch_array($req)) {
$werberpraemie=$row['werberpraemie'];
$startguthaben=$row['startguthaben'];
}
kontobuchung ('+',$werberpraemie,$_SESSION['werber']);
$buchungs_id = create_code(14);
db_query("INSERT INTO ".$db_prefix."_buchungen (uid,buchungszeit,buchungs_id,buchungsmenge,verwen dungszweck) VALUES (".$_SESSION['werber'].",".time().",'".$buchungs_id."','".$werberpraemie ."','Werberprämie für User ".$id3."')");
}
viel Erfolg![]()




Zitieren