quiz Script

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

  • quiz Script

    Hallo,
    Ich bin an meinen ersten richtigen Script. Ich erstelle ein Quiz auf meiner Page. Es funkt so weit auch, ausser dass die Fragen, die schon gestellt wurden wider kommen. Ich schreibe die gestellten fragen schon in eine DB aber wie mache ich das, dass sie nicht mehr gelsen werden.

    Mein Code ist so:

    PHP-Code:
    //Fragen lesen
    $res_fragen mysql_query ("SELECT fragen, id FROM quiz_fragen  order by rand()");
    $num_fragen mysql_num_rows($res_fragen);
    while(
    $cider_fragen mysql_fetch_assoc($res_fragen)){
    $frage $cider_fragen["fragen"];
    $frage_id $cider_fragen["id"];
    }
                    
    //Frage in Tabelle "quiz_fragen_alt" schreiben
    mysql_query ("INSERT INTO quiz_fragen_alt SET uid='$uid', gid='$gid', fid='$frage_id'"); 
    Kann mir da jemand helfen?
    Zuletzt geändert von lyco; 11.07.2007, 11:20.

  • #2
    sehe ich das richtig das du einem user eine frage nicht 2 mal stellen willst?

    wenn aj probiers doch mal mit einem join zur usertabelle in deinem SELECT

    Kommentar


    • #3
      Ja du siehst das richtig pro User die Frage immer nur 1mal

      Kommentar


      • #4
        @jens76
        Sorry ich weiss nicht wie du das meinst.

        Ich schreibe die ID der gestellten Fragen in eine Tabelle.
        Und wenn ich jetzt die ID der gestellten Frage aus der Tabelle hohle, ist es dann nicht möglich, dass die Fragen auser der Tabelle (quiz_fragen) mit der selben ID nicht gelsen werden?

        Kommentar


        • #5
          Re: quiz Script

          Original geschrieben von lyco
          Hallo,
          Ich bin an meinen ersten richtigen Script. Ich erstelle ein Quiz auf meiner Page. Es funkt so weit auch, ausser dass die Fragen, die schon gestellt wurden wider kommen. Ich schreibe die gestellten fragen schon in eine DB aber wie mache ich das, dass sie nicht mehr gelsen werden.

          Mein Code ist so:

          PHP-Code:
          //Fragen lesen
          $res_fragen mysql_query ("SELECT fragen, id FROM quiz_fragen  order by rand()");
          $num_fragen mysql_num_rows($res_fragen);
          while(
          $cider_fragen mysql_fetch_assoc($res_fragen)){
          $frage $cider_fragen["fragen"];
          $frage_id $cider_fragen["id"];
          }
                          
          //Frage in Tabelle "quiz_fragen_alt" schreiben
          mysql_query ("INSERT INTO quiz_fragen_alt SET uid='$uid', gid='$gid', fid='$frage_id'"); 
          Kann mir da jemand helfen?
          Dein Script ist ziemlich unsinnig, weil
          1. Alle Tupel aus der Tabelle holen
          2. In der Schleife immer Variablen überschreiben
          3. Quasi nur einen Datensatz bekommen

          Ansatz:

          1.die Fragen ids in ein array eintragen
          2.Fragen nacheinander stellen - dabei immer das nächste Arrayelement nehmen
          3. Fertig
          "Nicht jeder Mensch kann und soll Programmieren[...]".

          Kommentar


          • #6
            Erstelle ein Array ($arr) mit den IDs der bereits gestellten Fragen. Dann führst du eine Query auf die Fragen Tabelle aus
            PHP-Code:
            $sql "SELECT * FROM fragen where id NOT IN(".implode(',',$arr).")"); 
            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar

            Lädt...
            X