Wie wär's damit:
Schreib das Ergebnis des Kampfes in eine separate Tabelle - wenn deine Datenbank dann ineinanderverschachtelte Abfragen unterstützt, könnte irgendwas in folgender Art vielleicht klappen (Pseudo-SQL-Code, klappt bestimmt nicht ohne dran rumzuschrauben):
Danke erstmal an sowas habe ich ungefähr gedacht aber du hattest es im Beitrag bereits geschrieben. Richtig - es war stark vereinfacht.
Es sollen insgesamt 10 Statistikwerte pro User berechnet werden, wobei in die Berechnung auch noch 3 Statische Werte je gewählter Kampf-Charakter des Users sowie eine Zufallszahl(Tagesform) mit einbezogen werden.
Solch komplexe Berechnungen würden den mysqld-Dienst doch erstmal lahmlegen.
Hmm ich könnte das auch so machen, dass man pro Tag nur einen Kampf haben darf und dieser direkt stattfindet, wenn ein User eine Herausforderung annimmt. Das ganze würde dann aber die Idee von "Am Tag aufbauen und in der Nacht die Schlacht" nicht verfolgen.
Ok ich sag mal so: Für INSERTs gibts ja bereits eine performante Lösung indem ich innerhalb der Schleife lediglich einen String erweitere und nach der Schleife den String an die DB schicke.
Sowas hier ungefähr:
$sql = "INSERT INTO kampf VALUES ";
for($i=0;$i<$anz_kampf;$i++) {
$sql .= " ('', $var1, $var2, ...)";
if($i<$anz_kampf-1) $sql .= ", ";
}
mysql_query($sql)
Das würde ja erstmal gehen. Aber wie bekomme ich in die Schleife die entsprechenden Werte/Statistiken für den jeweiligen User, ohne jeweils eine SELECT-Abfrage mit in die Schleife zu packen?