2011-01-30 3 views
0

JSON 객체에서 데이터를 읽는 방법 :내가 MySQL의에서 일부 데이터를 선택하는 PHP 스크립트를 다음 줄에 던져

내가 PHP4 나는 Services_JSON를 사용하고 (있는 서버의 실행으로
$json_arr[] = array ('date'=>$human_date,'weight'=>$data['weight']); 

http://pear.php.net/pepr/pepr-proposal-show.php?id=198)에 스크립트 JSON-쓸어 데이터 :

$.getJSON('ajax/getweights.php', {userid: userid}, function(data) { 

    $.each(data, function(k, v) { 
    alert(v + ': ' v); 
    }); 
}); 
: 나는 모든 무게 & 날짜를 표시 할 JS 파일에서

$json = new Services_JSON(); 
echo $json->encode($json_arr); 

언제 스크립트를 실행할 때 원하는 결과를 얻지 못합니다 (예 : 2011-01-10 : 90,2011-01-15 : 92, 2011-01-18 : 89).

임 오히려 jQuery를 새로운, 그리고 내가 답변 그물을 검색 한 나는 그 데이터를 읽는 방법을 알아 내기 위해 노력했다 - 나는 누군가가 나를 :) 도움이 될 수 있습니다 희망 서버를 가정

답변

1

는 데이터를 전송 다음과 같은 형식 :

[ { date: '2011-01-10:90', weight: '1' }, 
    { date: '2011-01-15:92', weight: '2' }, 
    ... 
] 

당신은 할 수 :

$.each(data, function(k, v) { 
    alert('date: ' + v.date + ' | weight: ' + v.weight); 
}); 
+0

감사합니다, 그것은 매력 : –

+0

아처럼 작동, 나는이 질문을 닫을 수있는 방법을 찾고 있었다! 감사합니다 –

0

쉬운 방법은 이것을 달성하기 위해 :

$json_arr[] = array(
    'date' => $human_date, 
    'weight' => $data['weight'] 
); 

$json = new Services_JSON(); 
echo 'processData(' . $json->encode($json_arr) . ')'; 

그리고 자바 스크립트 :

// Callback function which processes the data 
function processData(data) { 
    for(var i = 0; i < data.length; i++) 
    alert(data[i].date + ', ' + data[i].weight); 
} 

// Here we import the data 
var s = document.createElement('script'); 
s.src = 'ajax/getweights.php'; 
document.body.appendChild(s); 
관련 문제