DoRiMaN
Erfahrenes Mitglied
Hallo an alle...
Habe da mal eine Frage...
ich habe in meiner Datenbank eine Notenformel. Die sieht z.B. so aus:
%mp% = Maximum Points
Nun lese ich diese Formel aus, und möchte sie dann auch berechnen lassen. Dies löse ich mit den Regular Expressions...
die Variabeln "$points" und "$maxpoints" enthalten die Punktzahlen! Die Variable "$test_mark_formula" sollte dann etwa so ausssehen:
Dies funktioniert nun auch... Jedoch ist die Ausgabe doppelt...
Statt:
Kann mir jemand sagen weshalb? Ich weiss echt nicht, wo das Problem liegt!
Vielleicht denke ich auch zu weit?
Hoffe da kann mir jemand helfen!
Danke unf Greetz,
DoRiMaN
Habe da mal eine Frage...
ich habe in meiner Datenbank eine Notenformel. Die sieht z.B. so aus:
%rp% = Reached Points((%rp%*5)/%mp%)+1
%mp% = Maximum Points
Nun lese ich diese Formel aus, und möchte sie dann auch berechnen lassen. Dies löse ich mit den Regular Expressions...
PHP:
$formula2_toreplace = array('%rp%','%mp%');
$formula2_replace = array($points,$maxpoints);
$test_mark_formula2 = str_replace($formula2_toreplace,$formula2_replace,mysql_result($query2,0,"test_mark_formula"));
$mark = preg_replace("#(.*)#e",$test_mark_formula2,$test_string);
echo("MARK: ".$mark);
die Variabeln "$points" und "$maxpoints" enthalten die Punktzahlen! Die Variable "$test_mark_formula" sollte dann etwa so ausssehen:
((7*5)/9)+1
Dies funktioniert nun auch... Jedoch ist die Ausgabe doppelt...
Statt:
sehe ich:MARK: 4.8888888888889
MARK: 4.88888888888894.8888888888889
Kann mir jemand sagen weshalb? Ich weiss echt nicht, wo das Problem liegt!
Vielleicht denke ich auch zu weit?
Hoffe da kann mir jemand helfen!
Danke unf Greetz,
DoRiMaN