2011-03-10 10 views
1

json_encode를 사용하여 배열에서 JSON 객체를 만듭니다. 배열은 몇백 개 요소이지만 json_encode는 배열의 첫 번째 요소 만 돌려주는 것처럼 보입니다.json_encode는 배열의 첫 번째 요소 만 반환합니까?

이것은 json_decode의 한계입니까, 아니면 JSON 객체를 읽는 데 잘못된 구문을 사용하고 있습니까?

약간의 코드 : 나는 PHP의 배열을 만들 :

$getarrayforjson = mysql_fetch_array($result); 

그리고 자바 스크립트에서

, 나는 그것을 변수했다 : 콘솔에서

var my_array = <?php echo json_encode($getarrayforjson); ?> 

를 입력하면 'my_array 배열은'나를 준다 좋은 JSON 보이는 응답,하지만 첫 번째 요소에 대해서만.

코드에서 my_array.title 또는 my_array [4]와 같은 JSON을 사용하면 항상 동일한 결과를 얻습니다.

내 구문이 잘못되었다고 생각하지만 해결 방법을 모르겠습니다. json_encode를 처음 사용했습니다.

답변

10
$getarrayforjson = mysql_fetch_array($result); 

그건 하나 개의 결과입니다. 이것을 시도하십시오 :

<?php 
while($row = mysql_fetch_array($result)) { 
    $json[] = $row; 
} 
echo json_encode($json); 
+0

또한 mysql_fetch_array() –

+0

Greg에게 MYSQL_ASSOC을 추가하십시오. 어떻게 그리고 왜? –

+0

장과, 빠르고 정확한 대답에 감사드립니다! 생각을 마치기 위해 JSON 객체에서 다음과 같이 제목을 가져옵니다. my_array [settings.activeImage] .title. 이를 통해 라이트 박스의 각 이미지에 내 데이터베이스의 제목을 추가 할 수 있습니다 (이를 수행하는 더 쉬운 방법이있을 수 있지만 이것이 효과가 있습니다). –

관련 문제