2012-07-05 42 views
0

我正在从MySQL数据库检索值,并将它们填充到单选按钮供用户选择。这些包装在一个div中,动态填充问题。出于某种原因,它填充了所有与问题相关的答案,但第二到第四个答案似乎与第一个答案分开,只有第一个问题才有一个突破,任何想法会导致这种情况?以下是产生我在做什么的代码:为什么mysqli_fetch_array正在分离数组?

// 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` FROM tbl_Answer WHERE QuestionID = 1"; 


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

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

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



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

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

我会首先检查你的SQL语句。请记住,返回的行可能不会按照您想要的方式排序。很难说出问题和答案是如何构建的,但如果您可以看一下SQL“order_by”,则可以快速解决很多问题。 [MySQL order by](http://dev.mysql.com/doc/refman/5.6/en/order-by-optimization.html) – Stegrex 2012-07-05 15:23:20

+1

您能否包含这实际输出的内容?我无法从你的描述中完成它。另外,如果只有一个条目,你是否真的需要一个while循环来打印这个问题? – andrewsi 2012-07-05 15:23:27

+0

最终会有多个问题,但是,在继续之前,我需要这个问题才能正确生成。 @andrewsi我会尝试截屏并发帖 – 2012-07-05 15:26:29

回答

0

确定的问题是,在这个问题的回声和答案回声结束的div标签开幕格之中。我在问题回声中关闭了div,并在答案部分添加了一个开头的div标签,并清除了疯狂的样式和分离的答案

相关问题