我们通常喜欢在 SE 的这一侧查看示例和错误消息,但是将所有这些问题存储在 MySQL 数据库中会相当方便。该算法会有所不同,具体取决于您希望问题如何改变。
您可以安排它,使屏幕上的每个问题都有自己的路线,使用 ID 来控制路线:
- 问题 1 (id 10) | 答案 1 (+10) | 答案 2 (+20) | 答案 3 (+30)
- 问题 2 (id 11) | 答案 1 (+20) | 答案 2 (+10) | 答案 3 (+30)
- 问题 3 (id 12) | 答案 1 (+20) | 答案 2 (+30) | 答案 3 (+10)
如果我们说用户选择了 2|3|1:
- 问题 4 (id 30)
- 问题 5 (id 41)
- 问题 6 (id 32)
由于第一个数字不同,而且我们仅以 10 为单位递增,因此您每次运行都不会遇到任何重复的问题。
另一种方法是明确定义下一个问题集:
- 问题 1 (id 1) | 答案 1 (5) | 答案 2 (12) | 答案 3 (9)
- 问题 2 (id 2) | 答案 1 (7) | 答案 2 (16) | 答案 3 (18)
- 问题 3 (id 3) | 答案 1 (4) | 答案 2 (10) | 答案 3 (24)
再次,用户选择 2|3|1:
- 问题 4 (id 12)
- 问题 5 (id 18)
- 问题 6 (id 4)
应用程序的其余部分只需要您运行查询以提取问题、跟踪用户数据(get/post/session/mysql whathaveyou)并将结果保存到数据库(如果您想要这样做)。AJAX 在回答完每一组之后可能会很高兴地提出下一个问题。