目前我正致力于在symfony2.2框架中创建apis。
我必须从数据库中检索一堆问题和答案。
Q1
/ \
A1 A2
/ \
Q2 Q3
/ | \ / | | \
A3 A4 A5 A6 A7 A8 A9
/ |
Q4 Q2 ...
我的数据库结构如下:
Question: (questionId,questionText)
AnswerOption: (id,questionId,option,nextQuestionId)
在上图中,有一个根问题,它有2个选项A1和A2。
在选择A1时,必须将用户重定向到Q2,依此类推。依次类推。
注意:用户可能无法回答所有问题。
现在我需要找到最佳方式:
1:从数据库中检索数据。
2:在Json文件中格式化问题。
答案 0 :(得分:0)
确定。首先从数据库中获取a1的密钥和存储的a2,现在根据您的选择从不同的表中检索数据,只需匹配id(从A1和A2中选择)并检索与您的选择ID匹配的数据,然后执行此操作等等。
答案 1 :(得分:0)
<?php
if(!empty($_POST) {
$nextQues = "SELECT * from Question WHERE id = '" . $_POST['next_ques_id'] . "'";
$nxtAnswers = "SELECT * from AnswerOption WHERE questionId = '" . $_POST['next_ques_id'] . "'";
}
?>
// in view, loop through $nxtAnswers and assign $nxtAnswers['nextQuestionId'] to input
<?php foreach ($nxtAnswers as $ans): ?>
<input type="radio" name="next_ques_id" value="<?=$nxtAnswers['nextQuestionId']?>"><?=$ans['option']?></input>
<?php endforeach; ?>
答案 2 :(得分:0)
我已经为文档中的主/子标题完成了这种树结构。
您可以使用递归函数来检索下一个问题。您可以管理在递归函数内检索的问题数量。
<强>建议:强>
作为表结构,您使用两个表。您可以使用一个表格来解决问题,并可以使用选项表来获取答案。因为下一个问题也是另一个问题。这意味着与问题存在一对一的关系。
Tables:
question : (id,optionId,questionText, nextQuestionId)
pk - id
foreign key - optionId
option: (id, optionText, questionId)
foreign key - questionId
PK - id
我认为这会对你有所帮助。
这篇文章也对你有帮助。