Frank aus Ulm: Formel/Boolsche Ausdrücke aus Strings auswerten !?!?

Hi alle miteinander!

irgendwas ist seltsam im Forum .. links oben kommt immer
eine Zahl wenn ich in irgendeinem Thread bin (die Anzahl
der Follow-Ups??) Und beim Nachrichtenschreiben wird \ n
als \ n und nicht als

angezeigt. Wer fummelt da wieder ;-)

Zu meinem Problem...
Jeder kennt sicherlich diese nette Möglichkeit von Excel,
Formeln zu basteln:

=(H3/B4) * 10%                usw.

Für einen Shop bei dem die zu bestellenden Mengen von
Suchkriterien abhängen - was bisher mit Excel-Bestell-Listen
gemacht wurde - muß ich ja auch irgendwie da solche Formeln
hineinbekommen. Diese sollen auch vom Administrator dann
mal änderbar sein.

Is ansich ja trivial, der Admin gibt dann einfach so eine
Phrase via Formular in die Datenbank ein.

Aber wie:

  • stelle ich fest
      - ob die Eingabe syntaktisch richtig ist
      - ob die Eingabe zu sinnvollen Ergebnissen führt
        (weil eines/mehrere der Formel-Elemente ja aus den
        Suchkriterien stammen können)
  • werte ich diese Formel dann zu einem Ergebnis hin aus

Ähnliches Problem stellt sich mir bei der Auswertung von
Boolschen Verknüpfungen:

(suchkriterium_1='x' AND suchkriterium_2='1') OR (suchkriterium_3='uu')

Beides wird dann via IF THEN ELSE (auch geschachtelt)
zusammengefügt.

Ich hoffe, es kann mir jemand helfen. Ich möchte auf
keinen Fall eine vorgekaute Lösung in irgendeiner
Programmiersprache (z.b. HTML) bekommen, sondern
lieber Schubser in verschiedene mögliche Richtungen,
soetwas konzeptionell umzusetzen. Gerade das Rumwuseln
macht solchen Spass... :-)

Also: jemand schon mal sowas gemacht? Ideen, Vorschläge
sind herzlichst willkommen.

Ciao, Frank

  1. in irgendeiner Programmiersprache (z.b. HTML)

    Argh!
    Gunnar

    --
    Die Menschen sollten endlich lernen, andere Kulturen objektiv zu betrachten, damit sie wissen, wann sie sich einmischen sollten und wann nicht.
    (T'Pol in Enterprise: "Aufbruch ins Unbekannte")
    1. Hi,

      es gibt in PHP z.B.

      • funtion_exists()
      • get_definded_functions()
      • get_defined_vars()
      • isset()

      Damit kann man ersteinmal überprüfen, ob die Elemente eines Strings vorhanden sind. Außerdem kann man die Auswertung des Strings mit

      • eval()

      durchführen. Das sollte man aber in einer eigenen Funktion kapseln, damit eval() nicht auf Scriptvariablen zugreifen kann, die es nix angehen. Der Funktion übergibt man alle für den zu evaluierenden String zugänglichen Variablen. Nicht vergessen, das eigentliche Endergebnis am Schluss zu returnen...*gg*

      LG

      Chris

      1. Hi, hallo

        vielen Dank für den Tip mit eval()  ... genau das war es,
        was ich brauchen täte können.

        Hätte nicht gedacht, daß diese Funktion soetwas vermag :-)

        War Tip des Tages. Zwar nicht in HTML-Programmiersprache

        • aber ich werds überleben. *grins*

        Gruß, Frank

        Tschau, tschüß,
        Frank