2012-07-06 4 views
1

Je RAPPELER les résultats pour AnswerStatusID et AnswerResponse et la nécessité de les appliquer à une variable à comparer pour voir si la réponse est correcte ou incorrecte et la réponse correspondante pour la répondre, mon problème est que ma variable est seulement peuplée par la dernière rangée de la table au lieu de le remplir avec toutes les données.tableau variable ne peuplait dernière ligne de la table mysql

// Connect to the Database 
require_once('mysqli_connect.php'); 

//create the query for the question 
$q = "SELECT `Question` FROM tbl_Question WHERE QuestionID = 1"; 

//Create the query for the Answers 
$q2 = "SELECT `Answer`,`AnswerStatusID`,`AnswerResponse` FROM tbl_Answer WHERE QuestionID = 1"; 


//Run the query 
$r = mysqli_query($conn,$q); 

//run the answer query 
$r2 = mysqli_query($conn,$q2); 


while($row = mysqli_fetch_array($r,MYSQLI_ASSOC)){ 
echo '<div id="Question1"><p>1) ' . $row['Question'] . '</div></p>'; 
} 



while($row2 = mysqli_fetch_array($r2,MYSQLI_ASSOC)){ 
echo '<div id="Question1"><input name="q1" type="radio" value="'.$AnswerStatusID.'"/>' . $row2['Answer'] . '</div><br/>'; 

//Assign the AnswerStatusID to a var 
$AnswerStatusID = $row2['AnswerStatusID']; 

//Assign the AnswerResponse to a var 
$AnswerResponse = $row2['AnswerResponse']; 
} 
+0

Alors, voulez-vous '$ AnswerStatusID' et' $ AnswerResponse' pour être des tableaux de tous les StatusIDs et réponses? – Wiseguy

+0

vos variables sont définies sur toutes les lignes, mais parce que vous utilisez un scaler, tout sauf le dernier sont écrasés par le dernier. – TerryE

+0

@Wiseguy oui c'est exactement ce que je veux –

Répondre

2

Comme intima Wiseguy, il semble que vous voulez AnswerStatusID et AnswerResponse sous forme de tableaux.

Deux étapes ici. Déclarez-les d'abord sous forme de tableaux.

$AnswerResponse = array(); 
$AnswerStatusID = array(); 

stocker ensuite les valeurs dans chacun d'eux

while($row2 = mysqli_fetch_array($r2,MYSQLI_ASSOC)){ 
    echo '<div id="Question1"><input name="q1" type="radio" value="'.$AnswerStatusID.'"/>' . $row2['Answer'] . '</div><br/>'; 

    //Assign the AnswerStatusID to a var 
    $AnswerStatusID[] = $row2['AnswerStatusID']; 

    //Assign the AnswerResponse to a var 
    $AnswerResponse[] = $row2['AnswerResponse']; 
} 

Vous pouvez alors voir ce qui est dans les tableaux en utilisant var_dump();

var_dump($AnswerResponse) 

ou

print_r($AnswerResponse) 
+0

J'ai essayé cela et quand je l'ai fait écho pour voir les résultats et assurer que la variable a été peuplée l'écho était "tableau" et pas de données –

+0

echo '

'. $ AnswerResponse. «

»; echo '

'. $ AnswerStatusID. «

»; –

+0

C'est une bonne chose! Vous pouvez utiliser var_dump ($ AnswerResponse) ou echo print_r ($ AnswerResponse) pour voir ce qu'il y a dans les tableaux. –

Questions connexes