2009-07-16 4 views
2

PHP json_encode 함수를 사용하여 일부 JSON을 인코딩하여 달력을 렌더링하는 jQuery 플러그인으로 보내려고합니다. 플러그인 이름은 FullCalendar입니다.jQuery Calendar 용 JSON 인코딩

MySQL 데이터베이스에서 이벤트 데이터를 가져 와서 JSON 문자열로 인코딩하는 작업을 시작했지만 문제가 발생했습니다. 플러그인과 함께 제공되는 기본 JSON 예제는 정상적으로 작동하지만 광산에서는 작동하지 않습니다.

다음은 예제 코드입니다. link | 출력은 다음과 같습니다 - link

여기 내 코드입니다 - link | 출력은 다음과 같습니다 - link

출력을 보면 상당한 차이가 있지만 이러한 차이가 작동하지 않는 것으로 생각됩니다. 예제 출력에서 ​​모든 것에 괄호 []가 있고 각각의 개별 JSON 문자열을 포함하는 것은 중괄호 {}임을 알 수 있습니다. 내 결과에는 각 문자열을 포함하는 중괄호 {}가 있으며 외부에는 대괄호가 없습니다.

도와주세요. JSON을 처음 사용했습니다.

답변

5

각 문자열을 별도로 표시하므로 json_encode는 목록을 알지 못합니다.

당신은 목록 구축하기 위해 잠시 문을 변경할 수 있습니다 :

while($row = $result->fetch_array(MYSQLI_ASSOC)) 
{ 
    echo json_encode(array( 
    .... 

$rows = array(); 
while($row = $result->fetch_array(MYSQLI_ASSOC)) 
{ 
    $rows[] = array( 
    .... 
} 

에를 다음로 json_encode 모든 것을 :

echo json_encode($rows); 

출력합니다 [{ ...}, {...}] 구조체를 찾고 있습니다. 유효한 JSON 객체입니다.

+0

내가 사용하고 코드와 하단에 출력이있어 그 이유는 다음 시작시 추가 [] 부분을 가지고 않습니다 http://snipplr.com/view/17084/response-code/ 두 번째 [] 내가 원하는거야? –

+1

while 루프에서 "echo json_encode ($ rows)"를 가져옵니다. 그래서 : while (fetch_array) {$ rows [] = array();} echo json_encode .... " 루프에서 배열을 빌드 한 다음 나중에 json_encode를 작성하려고합니다. –

+0

고마워, 모든 게 잘되고있어! –