Sortierung von Antwortoptionen

Hobas

Grünschnabel
Hallo!

Ich bin ziemlich blutjung in Sachen Programmierung, also habt Verständnis, daß ich vielleicht ein Problem hier vorstelle, das keines ist. Nur für mich ist es halt eines, und ich komme nicht weiter.

Ich habe eine Liste von Fragen und Antworten. Die Fragen werden einzeln nacheinander aufgerufen. Die Antworten stehen jetzt alle insgesamt bei jeder Frage. Ich möchte aber für jede Frage nur genau vier Antworten stehen haben, und zwar unterschiedliche Antworten für jede Frage. Wie muß ich vorgehen?

So sieht es momentan aus:

$frage=Array();
$frage[1]="Frage1";
$frage[2]="Frage2>";
usw.

$antwort=Array();
$antwort[0]="Antwort1";
$antwort[1]="Antwort2";

$j=0;
do{
print "<input type=\"radio\" name=\"antwort\" value=\"$j\"> $antwort[$j]\n";
$j++;
} while($antwort[$j]);
 
Du solltest die Antworten den Fragen zuordnen, denn alle möglichen Antworten auf alle möglichen fragen macht wenig sinn.
PHP:
$fragen[] = 'Frage1';
$fragen[] = 'Frage2';
$fragen[] = 'Frage3';

$antworten[0][] = 'Antwort1 zu Frage 1';
$antworten[0][] = 'Antwort2 zu Frage 1';
$antworten[0][] = 'Antwort3 zu Frage 1';

$antworten[1][] = 'Antwort1 zu Frage 2';
$antworten[1][] = 'Antwort2 zu Frage 2';
$antworten[1][] = 'Antwort3 zu Frage 2';

$antworten[2][] = 'Antwort1 zu Frage 3';
$antworten[2][] = 'Antwort2 zu Frage 3';
$antworten[2][] = 'Antwort3 zu Frage 3';

for ($x = 0; $x < count($fragen); $x++) {
  echo '<br>Frage: '.$fragen[$x];
  for ($y = 0; $y < count($antworten[$x]); $y++) {
    echo '<br>'.$antworten[$x][$y];
  }
}
Das obere Beispiel gibt Dir alle Fragen und deren Antworten aus. Allerdings rate ich Dir für die Datenhaltung eine Datenbank oder notfalls eine Datei zu verwenden.

snuu
 
Danke für deine Antwort. Das habe ich schon getan. Nur bringt mich das bei meinem Problem nicht weiter. Und ich habe das nicht extra erwähnt, weil man hier ja nicht überflüssigen Code angeben soll. Aber ich habe noch ein Array $zusammen [1] [0] = 1 usw.

Ich selber habe jetzt folgendes geändert:

$j=0;
do{
print "<input type=\"radio\" name=\"antwort\" value=\"$j\"> $text[$j]\n";
$j++;

} while($j<$i*4);

Also den Teil im while. Das hat mich schon ein Stück weitergebracht. Jetzt werden bei jeder Frage zumindest nicht mehr die Antworten mit angezeigt, die für spätere Fragen gedacht sind. Allerdings werden die Antworten von vorherigen Fragen überall mitgeschleppt. Jetzt frage ich mich, wie ich das noch abstellen kann. Dann nämlich dürfte es perfekt sein.
 
Zurück