Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP-Quiz

Einklappen

Neue Werbung 2019

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

  • PHP-Quiz

    Hallo Leute,

    ich möchte mit PHP in Verbindung mit MySQL ein Quiz erstellen. Die Fragen und Antworten sind in einer Datenbank 'quiz' in der Tabelle 'fragen'. Ich würde ganz gerne die Frage angezeigt bekommen, darunter hinter radiobuttons die Antworten. Die Position der richtigen Antwort (in der Tabelle unter der Spalte 'antwort1' gespeichert) soll durch Zufall mit der falschen Antwort bei jeder Frage geändert werden. Die Fragen werden in Kategorien (von 1-5) eingeteilt. Hat man eine Frage der Kategorie 1 gelöst, soll man zu einer Frage der Kategorie 2 weitergeleitet werden und so weiter. Hat man alle 5 Fragen richtig beantwortet soll eine simple Bildschirmausgabe folgen, bei falschen Antworten endet das Quiz. Die Fragen sollen ebenfalls durch zufällig gewählt werden.

    Hier mein Anfang:

    PHP-Code:
    <?php

        $db_link 
    mysql_connect("localhost""root""") or die ("Keine Verbindung möglich!");
        
    mysql_select_db ("quiz") or die ("DB existiert nicht!");
        
        
    $antwort1="SELECT antwort1 FROM fragen WHERE ";
        
    $antwort2="SELECT antwort2 FROM fragen WHERE frageid=antwortid";
        
        
        
    $zufallantwort=rand(1,2);
        
    $fragewert=1;
        
        
    $frage1"SELECT frage FROM fragen WHERE kategorie=1 ORDER BY RAND() LIMIT 1";
        
    $frage2"SELECT frage FROM fragen WHERE kategorie=2 ORDER BY RAND() LIMIT 1";
        
    $frage3"SELECT frage FROM fragen WHERE kategorie=3 ORDER BY RAND() LIMIT 1";
        
    $frage4"SELECT frage FROM fragen WHERE kategorie=4 ORDER BY RAND() LIMIT 1";
        
    $frage5"SELECT frage FROM fragen WHERE kategorie=5 ORDER BY RAND() LIMIT 1";

        
        echo
    "$frage1";
        echo
    "\n";
        if(
    $zufallantwort==1)
        {
        echo
    "<form action="">";
        echo
    "<input type="radio" name="frage1" value="antwort1"> $antwort1";
        echo
    "\n";
        echo
    "<input type="radio" name="frage1" value="antwort2"> $antwort2";
        };
        else
        {
        echo
    "<form action="">";
        echo
    "<input type="radio" name="frage1" value="antwort2"> $antwort2";
        echo
    "\n";
        echo
    "<input type="radio" name="frage1" value="antwort1"> $antwort1";
        };
        if(
    $_GET['frage1']=="SELECT antwort1 FROM fragen WHERE"
    Ich komme an der Stelle nicht weiter wo ich 1. den Wert der radiobuttons Vergleich und gucke ob die antwort richtig ist. wenn das der Fall ist weiter zur nächsten Frage, wenn nicht -> quit. Das muss mit einer Abfrage geschehen, wo ich aber ratlos bin, da ich nicht weiß wie ich die Antwort zur richtigen Frage auswählen soll.

    Vielleicht könnt ihr mir ja helfen?

    Vielen Dank im Vorraus!
    LG Smith

  • #2
    Zeig mal dein Datenbank-Schema, das scheint mir arg Verbesserungspotential zu haben, ich verstehe z.B. nicht, wie so ein Konstrukt zustandekommt:
    Code:
    SELECT antwort2 FROM fragen WHERE frageid=antwortid
    Aber zu der Stelle wo du nicht weiterkommst...
    PHP-Code:
        if($_GET['frage1']=="SELECT antwort1 FROM fragen WHERE" 
    kann ich nur sagen, dir fehlen absolut die Grundlagen, wie man auf MySQL zugreift. Die Zeilen davor sind auch schon ziemlich verwirrt, kein einziger Aufruf von mysql_query(), der Aufbau des Skripts lässt sogar vermuten dass du gar nicht weißt, wie Formularverarbeitung überhaput funktioniert und in welchem Kontext PHP ausgeführt wird. Bitte schau dir dazu unsere Grundlagen-Seite an, da findest du auch Anfänger-Tutorials.

    Kommentar

    Lädt...
    X