我对编程还是很陌生,需要为我的网站项目创建测验功能,并且需要在用户回答每个问题后显示结果。
例如,问-您定期运动吗?如果用户回答是或否,它将存储答案并转到下一个问题,最后,当用户点击提交时,它将显示与问题有关的所有信息,具体取决于用户是回答“是”还是“否”。
我已经在phpmyadmin中为问题和问题ID设置了表格,我是否需要单独的表格来获得答案?还是我最好对问题进行硬编码并仅存储答案?
我的网站使用Apache在localhost上运行,我的数据库在phpmyadmin上与用户等一起建立。我的大多数功能都在使用php。根据我在网上发现的大多数测验功能,都使用javascript,而且我对该语言不太熟悉,因此欢迎您提出任何建议。
我希望能够将答案存储在数据库中,以便当用户登录信息时就可以找到答案。感谢您提供任何帮助,因为我的编码技能并不出色。
下面是我如何仅使用html来设置atm的方法,但不确定如何添加php或javascript等
<div class="col-md-6">
<form>
<h4>Did they have any social media accounts</h4>
<div class="help-tip">
<p>Such as facebook, instagram, twitter, snapchat etc</p>
</div>
<div class="form-check">
<label>
<input type="radio" name="radio" checked> <span class="label-text">Yes</span>
</label>
</div>
<div class="form-check">
<label>
<input type="radio" name="radio"> <span class="label-text">No</span>
</label>
</div>
</form>
</div>
<div class="col-md-6">
<form>
<h4>Where they the main name on utility bills?</h4>
<div class="help-tip">
<p>Bills such as electricity, oil, telephonee, internet</p>
</div>
<div class="form-check">
<label>
<input type="radio" name="radio" checked> <span class="label-text">Yes</span>
</label>
</div>
<div class="form-check">
<label>
<input type="radio" name="radio"> <span class="label-text">No</span>
</label>
</div>
</form>
</div>
答案 0 :(得分:0)
根据您将来的计划和问题的数量,可能最好将那些问题(可能还会给出答案?)存储在数据库中,因为这使您将来有更大的灵活性来更改这些问题。根据这些问题全部是/否还是可能的答案不同,也许创建另一个表,将可能的答案映射到问题。
由于每个问题可以由不同的用户多次回答,依此类推,您应该创建另一个表来回答问题。在这种情况下,将一个问题存储在一行中听起来从我的角度来看是最好的解决方案(可能不是:D) 。它将具有answer_set_id并将其绑定到一个answer_set(以及可能具有id,user_id以及可能包含时间的user,answer_set表),这取决于数据的数量和类型以及您打算如何处理它
答案 1 :(得分:0)
我建议您做类似的事情,创建一个user表,该表将保留用户登录内容(例如,id,name,pass),如果您的项目要公开哈希密码并保护您的针对MySQL注入和跨站点脚本的站点,如果您只是在学习,请不要担心。
此后,我将为答案创建另一个数据库,因为问题将永远相同,因此其结构将类似于:
id |问题回答| user_id
用户ID是回答问题的用户的ID,并且必须是外键。
然后,当用户完成回答问题或仅想查看结果时,您只需在数据库中获取有关答案的信息,然后使用PHP显示基于该答案的信息。
如果您需要将MySQL与PHP结合使用的任何帮助,请查看PHP.net中的mysqli和PDO页面,这对我有很大帮助:
https://www.php.net/manual/en/book.pdo.php https://www.php.net/manual/en/book.mysqli.php