Php 问答游戏开发

Php 问答游戏开发,php,mysql,Php,Mysql,我正在做一个问答游戏,将在动漫大会上使用。 使用笔记本电脑和wifi点,计划是让观众使用手机作为选择答案的设备。播放器号码将基于IP地址。客户端屏幕将基本上显示回答1、2、3和4的按钮 我在服务器上使用MYSQL和PHP。我有一些表格,例如: 问题:其中列出了实际问题以及正确答案。此字段为id | Q|u text | Ans1 | Ans2 | Ans3 | Ans4 | Cor|u Ans | Image|u Path 测验:有ID和测验名称 小测验问题:此表中的字段用于将多个问题分隔为多个

我正在做一个问答游戏,将在动漫大会上使用。 使用笔记本电脑和wifi点,计划是让观众使用手机作为选择答案的设备。播放器号码将基于IP地址。客户端屏幕将基本上显示回答1、2、3和4的按钮

我在服务器上使用MYSQL和PHP。我有一些表格,例如:

问题:其中列出了实际问题以及正确答案。此字段为id | Q|u text | Ans1 | Ans2 | Ans3 | Ans4 | Cor|u Ans | Image|u Path

测验:有ID和测验名称

小测验问题:此表中的字段用于将多个问题分隔为多个小测验

控制:这有管理员用户帐户不担心安全性,因为这将不会在线,将只为糖果,游戏名称奖,所以它可以改变,如果其他人使用它。 我的问题是如何获取当前测验的问题列表使用测验4,获取该测验的问题列表,仅显示当前问题,然后按下按钮进入下一个问题

就像我说的,安全不是问题。他们只会赢得糖果,而这个系统不会是唯一的。 我还需要有一个表格,其中包含当前问题的所有提交答案。有了它,我可以制作一个漂亮的饼图,当我显示正确答案时,它会显示答案百分比。希望这一切都有意义

编辑:我将提供wifi点。封闭的网络,密码保护,所以唯一的ip将分发给房间里的人。
另外,我会选择测验。客户端只能选择一个答案。我选择的问题将显示在投影仪上,供所有人查看。观众选择他们的答案。我点击下一个,它显示了正确的答案,糖果被分发,然后我点击下一个问题。这一切都会持续下去,直到我们在当前测验中没有问题,或者我们提前结束测验。然后我将有一个列表显示谁的答案最正确,我们将颁发大奖。

您想从数据库中获得与当前测验相对应的问题。。正当 您可以创建一个PHP页面,该页面使用当前的测验id,这样每个测验都应该有一个唯一的id,然后返回每个问题,并返回quizID=quick\u passed

SELECT question_content FROM questions WHERE quizID = currentQuiz
像这样的

当你收到问题后,你可以把它存储在某个地方,也许是ArrayList?或者LinkedList或者你想要的。您可以从数组中获取它,并将问题放入屏幕中

你可以用同样的方法得到答案。根据问题id,您可以选择答案。 也许你可以创建一个类来管理这个问题


这将是一种方法。

正如阿格里佐已经建议的那样,给测验中的每个问题一个序号

SELECT q.*
FROM Questions q
INNER JOIN Quiz_Questions qq ON qq.QuestionID = q.ID
WHERE qq.QuizID = 11
  AND qq.SequenceNumber = 3
这个例子引出测验11的第三个问题


为下一个问题增加SequenceNumber的参数。一旦查询没有返回任何内容,测验就结束。

按IP地址排列的播放器号码不是一个好主意。在许多情况下,多个用户将拥有相同的公共IP地址。在一个有很多人使用同一个WiFi的会议上,这种情况可能尤其如此。使用会话ID。用户可以选择测验吗?如果是这样的话,你会想要一个测验列表,每个测验都有一个指定测验ID的查询字符串。从中,你可以从数据库中查找测验问题,并将它们呈现到测验页面。我怀疑OP意味着他们将提供自己的wifi点,在这种情况下,每个用户都将在专用LAN上获得自己的IP。但是,我同意会话通常更好,没有缺点。基于IP的手机使用手机数据是个坏主意。考虑到IPv4的不足,当用户使用蜂窝数据时,除了NAT网关地址之外,几乎不可能看到其他任何内容。如果是基于wifi的,你可能没问题。你具体在问什么?如何编写SQL?如何编写PHP?对模式的批评?还有别的。IMO:为了确定下一个问题,您需要在测验问题中使用另一个字段问题编号