0

应用程序:我有一个测试应用程序(类似于测验),它显示随机图像,用户单击单选按钮对 imgs 进行评分。我目前正在使用 Javascript 来获取单选按钮的值。

我想我需要在 JS 中创建一个数组来保存答案,并以某种方式将该数组转换为 PHP 数组,以便在测试结束时所有答案都可以插入到 MySql 数据库中。

更复杂的是数组将有 120 个元素!

在这种情况下,我是否应该费心将数据保存在数组中并在 JS 和 PHP 之间转换它们?

我想出的替代方案是:

  1. 使用纯 PHP 处理数据并使数组仅在 PHP 中插入到测试结束时。我不认为每次用户单击答案时对数据库进行查询是好的,因为系统上有很多答案(120)和许多用户。

  2. 使用 PHP 和临时表来保存答案。在测试结束时,将临时表中的数据复制到将存储数据的表中。

有人有什么建议吗?

4

1 回答 1

1

您应该使用 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
}

这是未经测试的,请在评论中告诉我它是否不起作用。

于 2013-03-28T03:25:11.327 回答