Zufallsgenerator

  • Themenstarter Themenstarter Zuckerpuppe
  • Beginndatum Beginndatum
Z

Zuckerpuppe

Hallo,

ich hätte da folgendes Problem. Ich habe ein JavaScript zum Erstellen von mehreren Quizarten.
Die Html-Seite kann man schick gestalten und dort das JavaScript und die Fragen einfügen.
Jetzt das Problem. Ich würde gerne in die Datei etwa 100 verschiedene Multiple-Choice-Fragen legen, von denen dann jedes Mal beim Neu laden 20 per Zufall ausgewählt werden.
Im Netz hab ich das gefunden:
<?php
$zufallsContainer = array();
$zufallsContainer[0] = 'Hier Text einfügen';
$zufallsContainer[1] = 'Hier Text einfügen';
$zufallsContainer[2] = 'Hier Text einfügen';
$zufallsZahl = rand(0, count($zufallsContainer)-1);
echo $zufallsContainer[$zufallsZahl];
?>
Ob man das in die Html-Seite mit einfügen könnte, mit Verweis auf das JavaScript und die ganze Sache auch noch funktioniert? Ach, und wie mache ich das eigentlich, dass genau 20 Fragen ausgewählt werden?
Grüße
 
Sowas
PHP:
<table>
<?php

/** Testdaten zusammenstellen **/
$zufallsContainer = array();
$zufallsContainer[0] = 'Text1';
$zufallsContainer[1] = 'Text2';
$zufallsContainer[2] = 'Text3';
//Simulation der restlichen 94 Einträge
for ($i = 3; $i < 100; $i++){
    $zufallsContainer[$i] = "Text{$i}";
}

/** Ab hier beginnt der eigentliche Code **/

//ausgewählte Textnummern
$gewaehlteFragenID = array();

//20 Einträge aussuchen
while (count($gewaehlteFragenID) < 20){
    //Zufallszahl zwieschen 0 und dem höchsten Index des Containers ermitteln
    //mt_rand() anstelle von rand(). Siehe dazu die PHP-Doku
    $zufallsZahl = mt_rand(0, count($zufallsContainer)-1);
    
    //prüfen ob die Zahl schon vorhanden ist
    if (!in_array($zufallsZahl, $gewaehlteFragenID)){
        
        $gewaehlteFragenID[] = $zufallsZahl;
    }
}

//Die gewählten Einträge ausgeben
foreach($gewaehlteFragenID as $zahl){
    //Jeden Text als neue Tabellenzeile ausgeben
    echo "<tr><td>".$zufallsContainer[$zahl]."</td></tr>";
}
?>
</table>
 
Zurück