Javascript 使用PHP、MySql和Bootstrap的问答应用程序
我计划为我的一个朋友做一个测验网络应用程序。 到目前为止,我已经决定了以下事项。我需要你的建议,这和什么可以改变,以便在可以帮助使应用程序更加优化 数据库-MySql 后端-PHP 前端-引导、HTML、JSS、CSS 因此,应用程序就像可以有与一个主题相关的测试。 一个测试可以包含10个问题。全部都是选择题 我计划在一个页面上显示10个问题和一个提交按钮,一旦所有问题都得到回答,该按钮将提交测验 在下一页,它将显示用户正确的选项以及他突出显示的选项。还可以添加选项以向其emailid发送正确答案 在数据库端 我想到了下表 问题包含问题id、文本、选项1、选项2、选项3、选项4、更正选项等列 类别-类别列表。列-类别id、类别名称 问题\类别-问题和类别之间的关系。列-问题id、类别id 我对正确的_选项应该如何/在哪里存储感到困惑。应该是列名(选项1等)/或完整答案文本。还有别的想法吗 另外,考虑使用RESTapi访问数据库记录。我找到了用于在php中创建restapi的Slim框架。我选择这种方法,因为将来如果我想更改数据库或前端,它会更容易 或者你认为不使用REST可以吗 在前端,我计划对相应的API进行AJAX调用,以访问问题等,并以JSON格式返回响应 我不喜欢的是从JSON创建HTML结构,以正确的格式显示数据。这不是javascript文件中非常混乱的部分吗 有什么办法可以避免吗?或者以其他方式达到同样的目的Javascript 使用PHP、MySql和Bootstrap的问答应用程序,javascript,php,mysql,ajax,json,Javascript,Php,Mysql,Ajax,Json,我计划为我的一个朋友做一个测验网络应用程序。 到目前为止,我已经决定了以下事项。我需要你的建议,这和什么可以改变,以便在可以帮助使应用程序更加优化 数据库-MySql 后端-PHP 前端-引导、HTML、JSS、CSS 因此,应用程序就像可以有与一个主题相关的测试。 一个测试可以包含10个问题。全部都是选择题 我计划在一个页面上显示10个问题和一个提交按钮,一旦所有问题都得到回答,该按钮将提交测验 在下一页,它将显示用户正确的选项以及他突出显示的选项。还可以添加选项以向其emailid发送正确答
请给出关于上述内容的建议,哪些内容可以更改以提高效率。我会更改您表格的模式 第一个表是带有列的
category
cat_id | cat_name
question_id | cat_id | question
option_id | question_id | option | correct
第二个表是带列的问题
cat_id | cat_name
question_id | cat_id | question
option_id | question_id | option | correct
第三个表是带有列的options
cat_id | cat_name
question_id | cat_id | question
option_id | question_id | option | correct
问题
表格与类别
表格的关系是类别id
。然后问题表与选项表的关系是question\u id
您将在选项表中存储多个选项。如果突然间,你想对一个问题有更多的选择怎么办?那么这个模式就适合你了。然后对于correct
列,1
将触发正确答案,而0
将触发错误答案
例如:
类别表:
cat_id | cat_name
1 | fruits
问题表:
question_id | cat_id | question
1 | 1 | What is the color of apple?
2 | 1 | What fruit is good for potassium?
选项表:
option_id | question_id | option | correct
1 | 1 | red | 1
2 | 1 | blue | 0
3 | 1 | yellow | 0
4 | 1 | magenta | 0
5 | 2 | apple | 0
6 | 2 | banana | 1
7 | 2 | mango | 0
8 | 2 | melon | 0
因此,当您获取问题时,可以使用内部联接
获取选项/答案,或使用类别对其进行过滤
SELECT a.question, b.cat_name, c.question_id, c.option, c.correct
FROM question a
INNER JOIN category b ON a.cat_id = b.cat_id
INNER JOIN options c FROM a.question_id = c.question_id
WHERE b.cat_id = ?
我建议使用php、mysql、ExtJS4、json在一天内完成这一切。不费吹灰之力,正确选项的概念:始终将正确答案存储在选项1中,并在显示时将答案洗牌。你可以这样保存你自己的正确选项栏。我因为很多事情否决了你的问题,值得一提的是,我发现你的问题非常广泛,因为你试图一次涵盖多个事情。此外,这个问题似乎在寻求解决问题的最佳方法(主要是基于意见/推荐工具/软件/库)。@epodax是的,我同意它有点宽泛。看,我在php方面没有太多经验。所以我只是想问,经验丰富的人还能告诉我其他有效的方法吗。因此,与其浪费我的时间来实现这个解决方案,不如让我得到更合适的解决方案来实现同样的效果。谢谢你的模式。如果您也能就RESTAPI方法发表意见,我将不胜感激,这是一种好方法还是我应该直接使用php访问数据库?