Beurteilungsscript

  • Hallo!
    Bin PHP-Newbie und stehe gerade ein bisschen an ;-(.
    Und zwar erstelle ich dynamisch einen Fragebogen (eine Beurteilung eigentlich).


    Das ganze wird folgendermaßen weiterverarbeitet:


    Wie ihr seht werden zu jeder Person (die aus der Datenbank geholt werden) jeweils 2 Fragen erstellt. Wenn ich mir alle POST ausgeben lasse schaut das folgendermaßen aus:

    array(1) {
    ['Frage1']=>
    array(3) {
    ['Name1']=>
    string(1) "1"
    ['Name2']=>
    string(1) "2"
    ['Name3']=>
    string(1) "1"
    }
    }
    Also eigentlich genauso wie ich es möchte. Doch wie kann ich das jetzt in die DB schreiben? Also dass bsp. Name1 nur einmal erstellt wird und zu diesem Eintrag dann die jeweiligen Werte aus dem Formular hinzugefügt werden:

    Name Frage1 Frage2 Frage3
    Name1 1 2 0
    Name2 3 1 2
    Name3 2 2 3

    Und so weiter...
    Hoffe das ist halbwegs verständlich, falls nicht könnte ich den ganze Code posten.
    Danke!

  • Hallo!
    Ich bin mir zwar nicht ganz sicher, ob es das ist, was du suchst, aber wie wäre es mit:

    Code
    $query = "UPDATE
        bewertung
    SET
        Frage1 = '$element'
    WHERE
        Testperson = '$key' ";
    $result = mysql_query($query) or die('Query failed:'.mysql_error());


    Die Tabellenwerte (Frage1) werden hier überall da, wo in der Spalte "Testperson" der Name $key steht, mit $element neu belegt.
    LG
    nif7

  • Hm, nicht so ganz. Hier würde er mir ja nur jeweils in die Frage1 schreiben. Diese müsste ich dann mit $f ersetzen, oder?
    also:

    Code
    SET
        $f = '$element'

    Weil ich brauche ja Frage1, Frage2 etc. (plus die dazuhgehörigen Werte).
    Wäre es grundsätzlicher nicht geschickter 2 Tables zu erstellen?

    1. Table - Personen
    Feld 0: ID
    Feld 1: Namen

    2. Table - Bewertungen
    Feld 0: ID
    Feld 1: ID von 'Personen'
    Feld2: Frage
    Feld3: Bewertung

    Dann könnte ich die Bewertungen den jeweiligen Personen zuordnen. Also theoretisch - praktisch wüsst ich grad nicht wie ich das umsetzen könnte :-(.

    Danke auf jeden Fall mal!

  • Habs schon fast geschafft...

    Funktioniert auch schon beinahe:
    Name Frage1 Frage2
    Name3 2
    Name2 1
    Name1 1 2

    Beim ersten Eintrag funktioniert alles korrekt, also die korrekten Werte sowohl in Frage1 als auch Frage2. Könnt ihr mir sagen woran das liegt dass bei Name2 nur die Frage1, bei Name3 nur die Frage2 geschrieben wird?

  • Mittlerweile funktionierts, ein Problem hab ich allerdings noch.

    Spreche ich statt der ID den jeweiligen Namen an, werden IMMER logischerweise die Werte beim Namen überschrieben. Mit der ID ist das Problem dass die Personen nur bei $i == 1 INSERTED werden, was auch nicht ideal ist...
    Wüsste jemand vielleicht einen alternativen Lösungsansatz?