2016-04-15 7 views
1

Ich möchte die Frage Nummer (vraag) mit einer for-Schleife ausgeben, so dass es 5 Elemente aus der Datenbank (von 1 bis 5). Dann möchte ich die Antwort von der Benutzereingabe erhalten (A/B/C/D)For Schleife mehrere Elemente PHP

Holen Sie sich die Antwortwerte aus der Datenbank anhand der Frage Nummer mit dem Benutzereingabewert.

Das Problem ist, es gibt nur das erste Element aus und der Rest der Ausgabe ist leer.

Enthalten ist ein Bild der Datenbankinformationen. Database

for($i = 1; $i < 6; $i++){ 
      $vraag = $i; 
      $answer = '$answer'.$i; 
      $answerNumber = $_POST['question-'.$i.'-answers']; 
      $query = $db->prepare("SELECT * FROM vraag WHERE vraagnummer = :VRAAG AND antwoord = :ANTWOORD"); 
      $query->bindparam(":VRAAG",$vraag); 
      $query->bindparam(":ANTWOORD",$answerNumber); 
      $query->execute(); 
      $has_author = $query->fetch(); 

      $VN = $has_author['vraagnummer']; 
      $A = $has_author['antwoord']; 
      $PA = $has_author['puntenA']; 
      $PB = $has_author['puntenB']; 
      $PC = $has_author['puntenC']; 
      $PD = $has_author['puntenD']; 
      echo $VN; 
      echo $A; 
      echo '<br />'; 
      echo '<br />'; 
      echo 'A'.$PA.'<br />'; 
      echo 'B'.$PB.'<br />'; 
      echo 'C'.$PC.'<br />'; 
      echo 'D'.$PD.'<br />'; 
     } 

Antwort

1

ganze Ergebnis der Datenbank anzuzeigen, benötigen Sie einen while loop als

while ($has_author = $query->fetch()) { 
    $VN = $has_author['vraagnummer']; 
    $A = $has_author['antwoord']; 
    $PA = $has_author['puntenA']; 
    $PB = $has_author['puntenB']; 
    $PC = $has_author['puntenC']; 
    $PD = $has_author['puntenD']; 
    echo $VN; 
    echo $A; 
    echo '<br />'; 
    echo '<br />'; 
    echo 'A' . $PA . '<br />'; 
    echo 'B' . $PB . '<br />'; 
    echo 'C' . $PC . '<br />'; 
    echo 'D' . $PD . '<br />'; 
} 
+0

Dank nutzen! Das hat es gelöst! –

+0

CHeck http://stackoverflow.com/questions/23911703/cant-access-sql-data-outside-my-while-loop – Saty