Ist mein Vorhaben realisierbar

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ist mein Vorhaben realisierbar

    Ja hallo PHP Freunde,

    ich habe für eine neue Internetseite ein bestimmtes Vorhaben. Genauer geht es um eine Art Maskottchen, das abhängig von verschiedenen Variablen bestimmte Aktionen ausführen soll. Das wäre ungefär so ähnlich wie diese Plusmännchen, nur dass diese eben nicht wirklich aktionsgesteuert sind.

    Verkürzt erläutert, habe ich fünf Variablen, z.B. x,a,b,c,d die je vier Werte haben können, also z.B. a1, a2 ,a3 a4 und miteinander verglichen werden, um dann eine bestimmte Aktion auszuführen.

    Praktisch eine mehrfach verschachtelte If-Schleife, die ich gerne vereinfachen würde. Da ich nicht der super PHP Profi bin, wollte ich erst einmal wissen, ob man das auch anders lösen kann, bzw. überhaupt realisierbar ist.

    Die Datenbankstruktur dachte ich wie folgt:

    x1
    --- a1 a2 a3 a4
    b1 tb1 tb2 tb3 tb4
    b2 tb5 ...
    b3
    b4


    tb1
    --- c1 c2 c3 c4
    d1 ak1 ak2 ak3 ak4
    d2 ak5 ...
    d3
    d4


    Ich würde dann z.B. solche Schleifen erstellen:
    If x=1
    --> x1
    If a=1 & b=1
    --> tb1
    If c=1 & c=1
    --> ak1 (sprich die Aktion, welche eine Flashanimation darstellt)

    Das wären, wenn man alle Kombinationen mit Schleifen löst, sehr viele Abfragen, die dann in die verschiedenen Datenbanktabellen verweisen (sofern das so richtig ist ). Daher meine Frage, kann man das irgendwie anders, am besten einfacher lösen oder ist es so überhaupt nicht durchführbar?

    Wäre super, wenn einer von euch einen Rat weiß.

  • #2
    Auch auf den Verdacht hin, dass ich dich nicht richtig verstanden habe, mach' einfach eine Tabelle mit allen möglichen Kombinationen und der jeweiligen Aktion:

    belegung
    id | a | b | c | d | e | aktion

    Dann kannst Du mit einem Select mit der Variablen-Belegung die Aktion abfragen.

    Falls sich Aktionen mehrfach überschneiden (also bei unterschiedlichen Variablen-Belegungen die identische Aktion), könntest Du die Aktionen noch zusätzlich in eine separate Tabelle auslagern:

    variablen
    id | a | b | c | d | e | aktion_id

    aktionen
    id | aktion

    Kommentar


    • #3
      Hallo phpguru42

      wenn ich dich jetzt auch richtig verstanden habe , dann ist deine Variante deutlich besser. Die Hauptarbeit wäre es dann die Tabelle mit allen Kombinationen und der jeweiligen Aktion zu erstellen, was nunmal, abhängig von der Anzahl der Variablen, nicht wenig Möglichkeiten sind.

      Im PHP Code müssten also alle Variablen zuerst errechnet werden (logisch) und dann die SQL-Abfrage direkt mit allen Variablen an die Datenbank geschickt werden, die dann die richtige Aktion ausführt.

      Also lag ich mit den If Abfragen mal völlig falsch. Aber dachte mir schon, dass da was nicht stimmen kann

      Jetzt muss ich mir also eine Abfrage basteln, die alle Felder in der Datenbank miteinander vergleicht und da eben die Variablen einsetzt, die ich vorher errechnet habe?

      Da muss ich erstmal nachlesen, wie das mit so vielen Variablen funktioniert. Vielleicht hat jemand zufällig ein Beispiel an hand der obigen Tabelle?

      Aber man kann das Vorhaben realisieren, das ist schon einmal gut

      Kommentar


      • #4
        SELECT * FROM tabelle WHERE var1 = "test" AND var2 = "was anderes";

        Wird das n Tamagotchi oder wie?

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          @ghostgambler

          wenns so gut angenommen würde wäre schon geil. Aber man muss unser Webviech, nennen wirs mal so, nicht füttern und es qüangelt auch nicht rum. Wobei wär ganz witzig

          Kommentar


          • #6
            Original geschrieben von TribunM
            Die Hauptarbeit wäre es dann die Tabelle mit allen Kombinationen und der jeweiligen Aktion zu erstellen, was nunmal, abhängig von der Anzahl der Variablen, nicht wenig Möglichkeiten sind.
            Ähm ja, das müssten 1024 Einträge sein.
            Aber Du wolltest ja mehrere Tabellen erstellen und wärst dann in Summe ebenfalls auf 1024 Einträge gekommen, oder nicht?

            Kommentar


            • #7
              Ja es wäre glaube ich egal ob mehr Tabellen oder mehr Zeilen in einer Tabelle. Würde ja aufs gleiche hinaus gehen. Wobei ich mir da auch noch nicht so sicher bin

              Kommentar

              Lädt...
              X