Hey Tom,
leider ist die Sache etwas konfos verschachtelt. Die Datenbank hat mehrere Spalten. Neben "id, name, beschreibung, vorraussetzung" ist eig. nur die Punkteformel wichtig. Jeder Datensatz hat eine Punkteformel, die bei Karate z.B. (LEVEL*2.3)*(LEVEL*2.3) lautet (Exakt so steht es in der Datenbank). Nun Lade ich insgesamt 3 Tabellen. Userinformation (Nicht von großer Relevanz), Userskills und Skills.
Die Tabelle Skills an sich ist die Tabelle in der die Formel liegt.
id => 6
name => Karate
beschreibung => NULL
Vorraussetzung => NULL
Punkteformel => (LEVEL*2.3)*(LEVEL*2.3)
Nun brauche ich noch das Level, das der User derzeit in Karate hat. Diese habe ich in der Userskills gespeichert.
id => 4
userid => 1
skillid => 6
level => 15
Nun ersetze ich den Platzhalter aus der Punkteformel, der LEVEL heißt, mit ereg_replace() zu dem eigentlichen Level, dass ich aus der der Tabelle Userskills habe (sprich 15). So wird aus (LEVEL*2.3)*(LEVEL*2.3) plötzlich (15*2.3)*(15*2.3)und ist dem Array $skill_info['steady'] gespeichert. Blöderweise steht in dem Array halt auch nur (15*2.3)*(15*2.3) und nicht wie beabsichtigt 1190.25 (Das wäre das Ergebniss) :'-(.
So nebenbei: Der Array heißt leider noch steady, dass muss ich noch ändern. Das ganze sollte eig. der Berechnung der Zeit dienen, die der Spieler zum erlernen dieses Skills brauch. Also bitte nicht verwirren lassen ^^.
Liebe Grüße, Olli