2013-03-27 3 views
0

애플리케이션 : 사용자가 img를 평가하기 위해 라디오 버튼을 클릭하는 임의의 이미지를 보여주는 테스트 애플리케이션 (퀴즈와 유사)이 있습니다. 현재 Javascript를 사용하여 라디오 버튼의 가치를 파악하고 있습니다.많은 양의 데이터가있는 PHP/MySQL 테스트 애플리케이션

JS의 배열을 만들어 답변을 보유하고 어떻게 든 배열을 PHP 배열로 변환해야하므로 테스트가 끝나면 모든 대답을 MySql 데이터베이스에 삽입 할 수 있습니다.

더 복잡한 것은 배열이 120 개의 요소가된다는 것입니다.

이 경우 시나리오에서 배열의 데이터를 보유하고 JS와 PHP간에 데이터를 변환해야 할 필요가 있습니까? 내가 함께 올라와있다

대안은 다음과 같습니다 데이터를 취급하고 PHP의 배열을 만들 수

  1. 사용 순수 PHP는 시험의 마지막에 삽입 할 수 있습니다. 저는 많은 응답 (120)과 많은 사용자가 동시에 시스템에 있기 때문에 사용자가 대답을 클릭 할 때마다 데이터베이스에 대한 쿼리가 좋다고 생각하지 않습니다.

  2. PHP와 임시 테이블을 사용하여 답변을 보관하십시오. 테스트가 끝나면 임시 테이블에서 데이터가 저장 될 테이블로 데이터를 복사하십시오.

누구든지 의견이 있으십니까?

+0

자바 스크립트와 PHP간에 데이터를 전송하려면 각 언어에서 이해할 수있는 배열에 대해 'JSON'형식을 사용할 수 있습니다. 또한 JSON에서 temprary 파일을 만들어 해답을 기록한 다음 테스트가 끝나면 db에 넣을 수도 있습니다 (워크 플로우를 이해했다면). – Valky

답변

1

JSON을 사용해야합니다. 답변 배열을 자바 스크립트에서 문자열로 변환하려면 배열을 문자열로 바꾸는 JSON.stringify을 사용하면됩니다. 예를 들어

var jsonnedArray=JSON.stringify(arrayOfAnswers) 

그리고 서버에 jsonnedArray을 통과하고,이 나타내는 값으로 자바 스크립트 함수 JSON.stringify으로 이루어지는 문자열을 턴온 PHP 함수 json_decode를 사용하여 취급한다. 그런 다음 DB에 삽입하십시오. 다음은 몇 가지 코드입니다.

<?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 
} 

이 코드는 테스트되지 않았습니다. 주석에서 작동하지 않는지 말해주십시오.

관련 문제