应用程序:我有一个测试应用程序(类似于测验),它显示随机图像,用户单击单选按钮对图像进行评分。我目前正在使用 Javascript 来获取单选按钮的值。
我想我需要在 JS 中创建一个数组来保存答案,并以某种方式将该数组转换为 PHP 数组,以便在测试结束时所有答案都可以插入到 MySql 数据库中。
让事情变得更加复杂的是该数组将有 120 个元素!
在这种情况下,我是否应该费心将数据保存在数组中并在 JS 和 PHP 之间进行转换?
我提出的替代方案是:
使用纯 PHP 处理数据,并使数组仅在 PHP 中在测试结束时插入。我认为每次用户单击答案时都对数据库进行查询并不好,因为系统上同时存在太多答案 (120) 和许多用户。
使用 PHP 和临时表来保存答案。测试结束时,将数据从临时表复制到将存储数据的表。
大家有什么建议吗?
最佳答案
您应该使用 JSON。要将答案数组转换为 JavaScript 中的字符串,只需使用 JSON.stringify
即可将数组转换为字符串。例如:
var jsonnedArray=JSON.stringify(arrayOfAnswers)
然后将 jsonnedArray
传递给服务器,并使用 PHP 函数 json_decode
进行处理,该函数将 JavaScript 函数 JSON.stringify 生成的字符串转换为字符串
转换为它所代表的值。然后将其插入数据库。这是一些代码:
<?php
#un-jsonnify the arrray of answers
$arrayOfAnswers=json_decode($_POST['jsonnedArray']);
#loop through the answers and insert each one into the database
foreach($arrayOfAnswers as $currentAnswer){
#do something here to insert $currentAnswer into the database
}
这尚未经过测试,如果它不起作用,请在评论中告诉我。
关于PHP/MySQL 大数据量测试应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15662107/