2012-11-27 4 views
0

PHP에 GET 요청을 보낸 후에 배열을 Javascript로 전달하려고합니다. 보내기 및 데이터를 검색 완벽하게 작동하지만,이 같은 배열로 다시 데이터를 전달 대해 아무것도 찾을 수 없습니다 :PHP 배열을 GET을 통해 Javascript에 전달

<?php 

$result = mysql_query('blablabla'); 

//converting $result to an array? 

echo $result_as_javascript_array; 

?> 

<script> 
$('result').innerHTML = httpGet.responseText 
</script> 
+1

JSON 출력을 할당 할 때 이 종류의 데이터. – arunes

+4

'json_encode()': http://ie1.php.net/manual/en/function.json-encode.php – TRiG

+0

json을 살펴보면 데이터 배열을 자바 스크립트로 다시 전달할 수 있습니다. – kabuto178

답변

0

당신이 잘 작동로 json_encode를 사용한다, 직접 자바 스크립트 사용할 수있는 변수

<?php 

$result = mysql_query('blablabla'); 

//first convert result to an associative array 
$myarray = array(); 
while($fetch = mysql_fetch_assoc($result)){ 
    $myarray[]=$fetch; 
} 

//converting $result to an array? 
echo "<script>"; 
echo "var myArray = ".json_encode($myarray).";"; 
echo "</script>"; 
?> 

<script> 
//now you can use myArray global javascript variable 
$('result').innerHTML = myArray.join(","); 
</script> 
+0

@Kermal Thank you! – user1826176

+0

참고, 자바 스크립트 변수에 직접 assignin JSON 문자열은 안전하지 않습니다. 이것은 테스트 목적으로 만 사용됩니다. 심각한 개발을 위해서는 자바 스크립트 용 JSON 디코더를 사용해야합니다. 즉, Jquery를 사용할 수 있습니다 (var obj = jQuery.parseJSON (' { "name": "John"} ');) parseJSON 함수입니다. –

2

당신이 MySQL에서 JSON에 도착하여 데이터를 변환합니다. 먼저 "normal"PHP 배열을 평소와 같이 작성한 다음 json_encode() 함수를 통해 전달하고 반환하십시오.

클라이언트에서 JSON 문자열을 JS 배열이나 개체로 구문 분석해야합니다. 자세한 내용은 다음을 참조하십시오. Parse JSON in JavaScript?

그리고 MySQL에 액세스하려면 다른 것을 사용하십시오. 사용중인 확장 프로그램은 기본적으로 폐기되었습니다. http://si1.php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated

0

사용 json_encode는 :

<?php 

$result = mysql_query('blablabla'); 

//converting $result to an array? 

echo json_encode($result); 

?> 

당신은 아마 당신이 요소에 JSON 텍스트를 표시하고자하지 않는하지만 바로 요소의 innerHTML로 응답 텍스트를 넣어 싶지 않을 것이다.

0
$arr = array(); 
while ($row = mysql_fetch_array($result)) { 
    $arr[] = $row; 
} 
echo $arr; 

그러나 mysql_은 더 이상 사용되지 않으며 대신 mysqli를 사용하십시오. 당신이 JSON로 전달하려면

, 이것을 사용 :

echo json_encode($arr); 
관련 문제