Xiaodeguo
Mitglied
Hallo,
ich habe folgendes Problem,
in meiner WHILE Schleife sollen die Daten von Usern erfasst und dann geupdated werden.
Das Problem ist er macht es nur mit dem ersten Spieler. Wenn ich aber anstatt der UPDATE Anweisung ein ECHO ausgeben lasse, gibt er mir die richtigen informationen für alle Spieler.
Was ist falsch und wie ist es richtig? Wäre sehr dankbar für jede hilfreiche Antwort:
Quellcode:
ich habe folgendes Problem,
in meiner WHILE Schleife sollen die Daten von Usern erfasst und dann geupdated werden.
Das Problem ist er macht es nur mit dem ersten Spieler. Wenn ich aber anstatt der UPDATE Anweisung ein ECHO ausgeben lasse, gibt er mir die richtigen informationen für alle Spieler.
Was ist falsch und wie ist es richtig? Wäre sehr dankbar für jede hilfreiche Antwort:
Quellcode:
PHP:
<?php
include ('config.php');
error_reporting(E_ALL);
$db_link = @mysql_connect($dbhost, $dbusername, $dbpasswort);
mysql_select_db($dbname);
/**
* ALLGEMEINE ABFRAGE ALLER SPIELER
*/
$sql = "SELECT *
FROM ".$tabspieler."
ORDER BY ID_spieler DESC";
$result = mysql_query($sql);
while ($data = mysql_fetch_object($result)){
/**
* BERECHNET DIE PUNKTE DES SPIELER *ADDITION*
*/
$abfrage = "SELECT SUM(punkte) AS punkte2
FROM ".$tabtipps."
WHERE
k_spieler = '".$data->k_name."'";
$ergebnis=mysql_query($abfrage);
$wert2= mysql_fetch_array($ergebnis);
/**
* ENTNIMMT DIE ABGEGEBEN TIPPS UND ERSTELLT DEN WERT PUNKTE PRO TIPP
*/
$abfrage2 = "SELECT *
FROM ".$tabtipps."
WHERE
k_spieler = '".$data->k_name."'";
$ergebnis2=mysql_query($abfrage2);
$rows = mysql_num_rows($ergebnis2);
$td = $wert2["punkte2"]/$rows;
/**
* UPDATED DIE SPIELER INFORMATION
*/
$sql = "UPDATE ".$tabspieler."
SET
g_punkte = '".$wert2["punkte2"]."',
t_punkte = '".number_format($td,2)."',
g_tipps = '".$rows."'
WHERE
k_name = '".$data->k_name."'";
}
?>