0

アプリ: ユーザーがラジオ ボタンをクリックして画像を評価するランダムな画像を表示するテスト アプリケーション (クイズに似ています) があります。現在、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)

次に、サーバーに渡し、JavaScript 関数で作成された文字列をそれが表す値に変換するjsonnedArrayPHP 関数 を使用して処理します。次に、それをDBに挿入します。ここにいくつかのコードがあります:json_decodeJSON.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 に答える