Ergebnisfeld füllen

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

  • Ergebnisfeld füllen

    Hallo,

    also, leider habe ich nur sehr fragmentarisches Wissen über php und mysql. Bis jetzt bin ich durchgekommen, aber jetzt fehlt mir einfach der Ansatz.

    Folgendes:

    Ich habe eine mysql-Tabelle die ungefähr dieser Art ist:

    Felder Augen Haare Beine
    person a braun blau kurz
    person b grün gelb lang


    Ich möchte jetzt für jede Person ein rating errechnen.
    braune haare = 1, gelbe haare = 2, grüne haare=3

    Am Ende summieren sich die Werte zu einem Ergebnis.
    Dieses Ergebnis soll wiederum in ein freies Feld in die Tabelle eingetragen werden.


    Habt ihr eine Idee, wie man so etwas macht?

    Vielen Dank im voraus.

  • #2
    willst du es sql-technisch machen?
    dann würde ichs mit normalisieren versuchen. (idee)

    ansonsten halt mit php
    auslesen, punkte raussuchen (array?) und addieren.

    Hast du schon ansätze=?

    Kommentar


    • #3
      Hallo Tobiasz,

      wie gesagt - Anfänger.

      Ich habe versucht, die Zeilen über einen bestimmten Wert (z.B. 'Augen' abzufragen (per php) (query 1)und dann über eine while-Schleife wiederum auf die Werte dieser Person zuzugreifen (query 2), rating-werte zuzuordnen (iinerhalb des php-scripts), aufzusummieren und dann wieder in ein Feld zurückzuschreiben. Aber innerhalb der Schleife verheddern sich offensichtlich die mysql-query-Abfragen.

      Tabelle normalisieren? kenne ich nicht. kann man so etwas darüber machen? ist das der einfachste Weg?

      Danke für die Antwort.

      Kommentar


      • #4
        einfacher ist es für dich sicher so:

        baust dir punktearray auf:

        $augen = array(rot => 1, blau= 2, grün = 4)
        ...

        dann holst du dir den datensatz aus der db.

        und zählst bei roten augen halt entsprechend 1 punkt.

        Kommentar


        • #5
          öhhh,
          versteh ich nicht.

          >baust dir punktearray auf:

          >$augen = array(rot => 1, blau= 2, grün = 4)

          ok, also für jedes item ein array anlegen mit den rating-zuordungen.

          >dann holst du dir den datensatz aus der db.

          auch ok

          >und zählst bei roten augen halt entsprechend 1 punkt.

          verstehe ich nicht. wie bringe ich die Dinge zueinander?

          Kommentar


          • #6
            $row[auge] enthält z.b. rot.

            also kannst du

            $punkte = 0;
            $punkte = $punkte + $augen[$row[auge]];

            rechnen.

            Kommentar


            • #7
              Ah,

              ok, cool, ich glaube, damit kann ich umgehen.

              Vielen Dank und Grüsse,
              zange

              Kommentar

              Lädt...
              X