Beiträge von Krendipont

    Bei der Auswertung hole ich mir nochmal die IDs und die Antwortoptionen:

    Code
    while ($row = mysql_fetch_assoc($result)){
    			$id= $row["id"];
    				$A1 = $row["Antwort1"];
    				$A2 = $row["Antwort2"];
    				$A3 = $row["Antwort3"];
    				$A4 = $row["Antwort4"];
    				$A5 = $row["Antwort5"];


    Jetzt will ich ausgeben welche Antwort der Benutzer gewählt hat. Dazu brauche ich Variablen mit $A und $_POST['antwort'][$id] als Nummern. Wenn der User z.B Antwort drei nimmt, dann ist ja $_POST['antwort'][$id]== 3 ; Diese 3 muss ich jetzt nach $A schreiben damit ich die Variable $A3 habe.

    Ja dein Formular ist schon simpler und elleganter, aber das hilft mir bei meinem jetzigen Problem auch nicht viel.Selbst wenn ich die DB jetzt nochmal neu schreibe so wie du es vorgeshlagen hast bleibt eben das problem bestehen, wenn ich in meiner Auswertung die vom Benutzer angeklickte Antwort ausgeben möchte. Mit $_POST['antwort'][$id] habe ich auch lediglich den Value der Antwort. Um den Antworttext aus der DB zu holen, muss ich diesen Value immer noch in eine Variable einarbeiten.

    Na dann habe ich das falsch erklärt. Ich weiß ja nicht ob ich $A22[1], $A32[1], ... habe. Deswegen ja der Umstand mit $Fr[$q9]. In diesem Array ist der Wert der getriggerten Antwort. Abhängig von diesem Wert will ich die Antwort aus der DB holen. Also wenn $Fr[$q9]=1 ist will ich $A12 kriegen und für $Fr[$q9]=2, $A22. Ich mache das alles ja nur um eben die Antwort auszugeben, die die Testperson ausgewählt hat. Aus meiner fragenseite kriege ich aber nur die Info über den Wert der gedrückten Checkbox geschickt. Mithilfe dieser Info will ich mir dann die Antwort aus der DB holen.

    Ja, danke. $Fr muss ein Array sein -> deswegen $Fr[$q0]

    Ich habe jetzt noch ein Problem. Das hat mit dem vorangegengenen zwar nix zu tun, aber ich will jetzt nicht extra ein neues Thema aufmachen.
    Bei der Auswertung der Antworten der Fragen des Iq-tests sieht der Benutzer als Ausgabe folgenden Text:
    Frage1: 15, 25, 37, 51, 67, ihre Antwort 85 ist richtig! bzw.
    Frage3: 30, 29, 27, 26, 24, ihre Antwort: 45 Richtige Antwort: 23
    Nun habe ich auch Fragen, die mithilfe von Radiocheckbuttons beantwortet werden müssen. In meiner DB habe ich eine Tabelle mit den Fragen samt Antwortoptionen.Wenn nun eine Testperson eine der Checkboxen anklickt wird der Wert(1 oder 2 oder ...) der markierten Box auf die Auswertungsseite in das Array z.B. $Fr[$q9] geschrieben. Wenn die Testperson die Frage falsch beantwortet will ich eben die falsche Antwort nochmal anzeigen lassen. Die auswerung geschieht folgendermaßen:

    Code
    $query= "SELECT * FROM `Maße und Gewichte` WHERE id ='$q9'";
    			$result = mysql_query($query, $db);
    			while ($row = mysql_fetch_assoc($result)){
    				$F2[1] = $row["Frage"];
    				$A12[1] = $row["Antwort1"];
    				$A22[1] = $row["Antwort2"];
    				$A32[1] = $row["Antwort3"];
    				$A42[1] = $row["Antwort4"];
    				$A52[1] = $row["Antwort5"];


    Um die falsche Antwort anzuzeigen muss ich z.B. dastehen haben:

    Code
    echo $A22[1]


    Welche Antwort jetzt gewählt wurde ist ja im oben genannten Array $Fr[$q9] gespeichert. Das Problem ist:
    Ich muss es irgendwie hinkriegen mit $A ???? $Fr[$q9] ??? 2 ???? [1] als $A22[1] dastehen zu haben.

    Hi,
    ich programmiere einen IQ-test. Dafür habe ich eine Datenbank mit Fragen und Antworten erstellt. Die Fragen werden bei jedem Seitenaufruf zufällig aus der DB ausgewählt. Ich habe nun für den Admin eine Seite programmiert, mit der er neue Fragen in die DB hinzufügen kann. Damit meine Auswertung dynamisch auf die Fragen reagieren kann musste ich folgendes machen:


    In die Auswertung werden die Eingaben nun mit hidden-Feldern übertragen:

    PHP
    $q0=$_SESSION['q0'];
    
    
    <input type="hidden" name="Frage1" value="<?php $_POST["F$q0"]; ?>">


    Jetzt will ich den übertragenen Wert in einer Variable speichern, damit ich ihn dann mit der Lösung abgleichen kann:

    Code
    $Fr($q0)= $_POST["F$q0"];


    Für diese Zeile kriege ich jedoch die Fehlermeldung:
    Fatal error: Can't use function return value in write context...
    Kann mir jemand sagen warum das nicht funktioniert?

    Jo vielne Dank, aber ich habe die von dir vorgeschlagene zweite Option ,it dem Array gewählt.Ich habe dadurch zwar einen Haufen Arrays, die ich aber alle mit dem Index ganz leicht abrufen und in meine HTML-Maske per echo setzen kann.Hier ein Beispiel:

    Könntest du das vielleicht ein bisschen erläutern? Irgendwie kapier ich nicht so ganz was das alles bedeuten soll.
    Hast du dir meinen Quellcode angeschaut?
    Ich habe in meiner query die 5 ausgewählten Fragen.Aber die stehen alle in der Spalte F. Wenn ich sie mir mit mysql_fetch_array hole, dann wird in $row nur die letzte Frage aus der query gespeichert. Ich brauche Zugriff auf alle 5 Fragen.
    Es ist das gleiche als hätte ich in miner DB eine Tabelle mit einer Spalte "Login". Dort sind 'Peter', 'Heinz' und 'klaus' gespeichert. Ich mache meine Query und will alle 3 Namen ausgeben. Wie geht das?

    Also das Formular und die Auswertung sind kein Problem. Ich scheitere leider schon davor. Ich habe jetzt die fünf Fragen mit Antworten. Das Problem ist, dass ich sie nicht aufrufen kann. $F ist doch ein assoziatives Array in dem alle 5 Fragen gespeichert sind, oder? Wie rufe ich jetzt die 5 veschiedenen Fragen auf.
    Ich weiß es ist total simpel und blöd aber ich hab irgendwie ein Brett vorm Kopf.
    Wenn ihr mir das beantworten könnt seid ihr mich los(hoffentlich :roll: ).

    Also ich konkretisiere mal ein bisschen wie meine Datenbank aufgebaut ist. Der IQ-Test besteht aus mehreren Teilen (zahlenreihen,Textaufgaben, Wortanalogien...). Für jeden Teil habe ich eine eigene Tabelle erstellt. In den Tabellen ist in jeder Reihe enthalten, die ID, die Frage und die Antwort(en).Ich habe bei jeder Tabelle bei den IDs mit 1 angefangen.
    Nun mache ich das beispielsweise so:

    Wie bekomme ich es jetzt hin, die 5 ausgewählten Fragen samt Antwortoptionen in meinen Fragenteil zu kriegen. Dabei muss auch berücksichtigt werden, dass ich dia Anworten ja auch noch auswerten muss, d.h ich muss genau wissen wo welche Frage steht.
    Sorry wenn ich stresse, aber meine Programmierkentnisse sind äußerst beschränkt.

    Hi,
    ich bin gerade dabei meinen IQ-Test zu programmieren. Dafür habe ich viele Fragen in einer Datenbank gespeichert. Ich möchte nun immer einen Teil der Fragen per Zufall aus der Datenbank auswählen und in meinen Test integrieren. Die simpelste Möglichkeit wäre wohl es so zu machen:

    SQL
    SELECT Frage
    FROM tabelle 
    ORDER BY RAND() 
    LIMIT 10;


    Das Problem ist, dass ich dann zwar die Fragen habe, ich sie aber einzeln in meine HTML-Maske schreiben muss:

    Ich habe in meiner Datenbank die Fragen mit nur einer Antwortoption logischerweise in einer anderen Tabelle gespeichert als die mit Multiple Choice.
    Problem Nummer1 ist, wie kriege ich jetzt die per Zufall ausgewählten Fragen samt Antwortoptionen in meine Maske?
    Problem Nummer 2 ist wie erkenne ich bei der Auswertung der Antworten welche Frage eigentlich gestellt wurde und was somit die richtige Antwort ist?