2014-03-28 2 views
0

안녕하세요 저는 약간의 도움을 찾고 있습니다. Thomas J Bradley의 Signature Pad을 사용하고 있습니다. 내가하려는 일은 서명의 결과를 데이터베이스에 저장 한 다음 필요할 때 호출하는 것입니다. 데이터베이스에PHP 배열을 자바 스크립트로 가져 오는 방법

1 단계

스토어 출력 정보를 제공합니다. (완료)

http://jsfiddle.net/54L7t/3/

Save_sign.php

<?php 
include 'info.php'; 
$con=mysqli_connect($host,$username,$password,$db_name); 

$sign_data = $_REQUEST['output']; 
// Check connection 
if (mysqli_connect_errno()) 
{ 
echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$sql="INSERT INTO sign (data) 
VALUES 
('$sign_data')"; 

if (!mysqli_query($con,$sql)) 
{ 
    die('Error: ' . mysqli_error($con)); 
} 
echo "1 record added"; 

mysqli_close($con); 

?> 

주 : 데이터베이스 내에 저장된 정보가 배열된다. 2 단계

데이터베이스에서 데이터를 호출 내 아약스 명령 (btnGet)에 전달

example: [{"lx":80,"ly":41,"mx":80,"my":40},{"lx":80,"ly":40,"mx":80,"my":41}...] 

. 제가하는 데 문제는 현장 내에서 데이터가 검색 할 때 난 내 중생 함수에 전달해야 배열로 변신한다는 것입니다 :

$('.sigReturn').signaturePad(ReadOnly).regenerate(data); 

PHP는 heres는, 나를 배열을 반환하는 것을 허용하지 않습니다 무엇을 메신저는 현재 사용 :

return_sign.php

<?php 
include 'info.php'; 
$con=mysqli_connect($host,$username,$password,$db_name); 

$sign_location = $_REQUEST['value']; 
// Check connection 
if (mysqli_connect_errno()) 
{ 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$result = mysqli_query($con,"SELECT data FROM sign WHERE SignID='$sign_location'"); 
while($row = mysqli_fetch_array($result)) 
{ 
echo stripslashes(implode("", $row)); //i know that the implode turns it to string, was the only way i could get the data to my ajax command. 
} 

mysqli_close($con); 

?> 

그래서 어떻게 내 아약스 명령에 데이터를 전달하는 것, PHP에서 문자열 변환 오류로 배열을 피하는?

감사

+1

? JSON을 사용하여 프론트 엔드와 통신하려면 json_encode() 및 json_decode()를 사용하십시오. 일부 UTF-8 번역 문제를주의하십시오. 그러나 대부분의 요청으로 문제가 발생하지는 않습니다. –

+0

JSON을 사용하지 않았습니다. 자세히 설명해 주시겠습니까? – Aero204

+0

배열의 json_encode를 echo하고 js에서 구문 분석해야합니다. – rakeshjain

답변

3

로부터

dataType: "json" 

이제 data 변수 데이터 유형 필드를 배열을 가지고

echo json_encode($array); 

와 JSON으로 그것을 인코딩 후이를 처리하기 위해 아약스를 수정, 추가 성공 함수는 사용할 수있는 자바 스크립트 개체입니다.

+0

PHP 헤더를 올바르게 설정하면 jQuery를 JSON으로 평가하려고 할 필요가 없습니다. –

+0

json을 디코딩 할 필요가 없습니까? – Aero204

+0

@ Aero204 jQuery가 지금 당신을 위해서 – slash197

0

JSON으로 반환하고 jQuery가 브라우저 코드의 JavaScript 객체로 구문 분석하도록 할 수 있습니다. 그래서 대신

echo stripslashes 

당신은 인코딩 할 것이다 그것은 PHP 의사 소통 (또는 오히려 '번역')하는 방법을 알고하지 않을 때부터

echo json_encode($array) 
+0

Ive는 다음과 같은 결과를 얻었습니다. 'data : object 0 : "[{"lx ": 80,"ly ": 41,"mx ": 80,"my ": 40}, { "lx": 80, "ly": 40, "mx": 80, "my": 41} ...] " ' 데이터를 별도로 입력해야합니다. 여전히이 데이터를 배열로 보지 못합니다. – Aero204

+0

내가 선택한 선택 진술과 관련이 있다고 생각하면 데이터를 분할해야합니다. 그런 일이 없다고 생각합니다. – Aero204

+0

물론 PHP에서 적절한 구조로 포맷하고 브라우저에 결과를 표시해야합니다. – Zharktas

관련 문제