2012-12-12 4 views
-1
$cnt = 0; 
while ($row = $result->fetch_assoc()) 
{ 
    $arre[$cnt]['id'] = $row['idevents']; 
    $arre[$cnt]['title'] = $row['title']; 
    $arre[$cnt]['start'] = "new Date(" . $row['start'] . "*1000)"; 
    $arre[$cnt]['end'] = "new Date(" . $row['end'] . "*1000)"; 
    $arre[$cnt]['allDay'] = $row['allday']; 
    $arre[$cnt]['url'] = $row['url']; 
    $cnt++; 
} 


$year = date('Y'); 
$month = date('m'); 

echo json_encode(array(

array(
    'id' => 111, 
    'title' => "Event1", 
    'start' => "$year-$month-10", 
    'url' => "http://yahoo.com/" 
), 

array(
    'id' => 222, 
    'title' => "Event2", 
    'start' => "$year-$month-20", 
    'end' => "$year-$month-22", 
    'url' => "http://yahoo.com/" 
) 

)); 

?> 

스크립트 하단의 json_encode는 샘플입니다. 나는 $ arre와 json_encode의 내부에서 데이터를 가져와야한다. json_encode의 형식은 거의 동일하게 유지되어야합니다. 그렇지 않으면 프로그램이 맛이 좋지 않고 프로그램이 작동하지 않을 수 있습니다. 누구든지 적절한 코드 기술이 여기에 어떻게 보이는지 알고 있습니까?배열에 PHP json_encode 사용에 관해서

감사합니다!

+0

는'json_encode'가 당신을 위해 자바 스크립트, 당신의'새 Date 할 수 없습니다()'의는'양면 자바 스크립트를 eval'ed해야합니다. 필요한 경우 수동으로 직접 생성하고'json_encode'를 건너 뛰십시오. – Wrikken

+2

위의 코드로 인해 발생한 실제 (특정) 문제와 이에 대한 조언을 구하는 요소를 설명해주십시오. 이 질문은 [CodeReview.SE] (http://codereview.stackexchange.com/)에 더 적합 할 수 있습니다. – DaveRandom

+2

아마도 이해할 수 없지만 왜 'json_encode ($ arre)'를 사용할 수 없습니까? – twiz

답변

1

json_encode()를 사용하여 함수에 배열을 반환하는 올바른 형식을 찾고 있다면 예제를 들어보십시오. 키 값 쌍을 사용하여 다른 멤버에 액세스하십시오.

또한 정수 값이 아닌 해당 열의 이름으로 클라이언트 측 요소를 반복 할 수 있도록 연관 배열을 사용하십시오. 자바 스크립트/JQuery와의 그런

while ($row = $result->fetch_assoc()) 
{ 
    $thisRow = array(
        'id'  => $row['idevents'], 
        'title' => $row['title'], 
        'start' => date("F j, Y, g:i a", strtotime($row['start'])), 
        'end' => date("F j, Y, g:i a", strtotime($row['end'])), 
        'allDay' => $row['allday'], 
        'url' => $row['url'] 
    ); 
    array_push($arre, $thisRow); 
} 

return json_encode(
    array(
     "result" => "success", 
     "data" => $arre 
    ) 
); 

:

$.post("myPost.php", post_data, 
    function(data) { 
     // store data.result; 
     // store data.data; 
    }, 
"json"); 
+0

가장 도움이됩니다. 나는이 전술을 적용하기를 고대하고 있습니다. 감사합니다. – Giuseppe

+0

또한 2 개의 날짜로 무엇을하고 있는지 잘 모르겠습니다. 원래 게시물에서 정교하게 작성하면 업데이트하는 데 도움이됩니다. 위의 코드에서 쿼리의 2 문자열을 표준 날짜 형식으로 포맷했습니다. – jamis0n