2013-10-03 4 views
0

내 Raspberry Pi에서 작은 그림 슬라이드 쇼 프로젝트를 위해 재생 목록 json 파일 생성기를 얻으려고합니다.자동 생성 된 json 파일 (PHP 포함)

이 형식으로 php로 json 파일을 만드는 방법은 무엇입니까?

이 내 PHP 코드 :

function json_read() { 
    $link = connect(); 

    $i = 0; 

    $string = "SELECT * FROM Playlist, Bild WHERE Playlist.Bild_idBild = Bild.idBild"; 
    $result = mysqli_query($link, $string); 

    while ($row = mysql_fetch_array($result)){ 
    $i[] = array(
       'file' => $row['Bild.dateiname'], 
       'duration' => $row['Playlist.zeit'], 
       ); 

    $i++; 
    } 

    $data = array(
       'playlist' => $i 
       ); 

    echo json_encode($data); 

    disconnect(); 
} 

것처럼 보일 것입니다 방법 :

{ 
"playlist": [ 
    { 
     "file": "001.jpg", 
     "duration": 5 
    }, 
    { 
     "file": "002.jpg", 
     "duration": 5 
    }, 
    { 
     "file": "003.jpg", 
     "duration": 10 
    }, 
    { 
     "file": "004.jpg", 
     "duration": 5 
    }, 
    { 
     "file": "005.jpg", 
     "duration": 10 
    }, 
    { 
     "file": "006.jpg", 
     "duration": 5 
    } 
] 

}

답변

0

귀하의 코드는 매우 혼란 스럽다.

배열 이름이 증가하고 있습니다. 오히려이 코드보다

:

while ($row = mysql_fetch_array($result)){ 
     $i[] = array(
      'file' => $row['Bild.dateiname'], 
      'duration' => $row['Playlist.zeit'], 
     ); 

     $i++; 
    } 

사용이 : -

변수의 이름을 줄 필요가있다이 경우 해달라고 사용 증가 VAR

$arr = array(); 
while ($row = mysql_fetch_array($result)){ 
    $temp['file'] = $row['Bild.dateiname']; 
    $temp['duration'] = $row['Playlist.zeit']; 
    $arr['playlist'][$i] = $temp; 
     $i++; 
    } 



echo json_encode($arr); 
1

whilefor 아니다 의미 :

$ i 실제로 $ playlist;

function json_read() { $link = connect(); 

    $string = "SELECT * FROM Playlist, Bild WHERE Playlist.Bild_idBild = Bild.idBild"; 
    $result = mysqli_query($link, $string); 

    // create container for playlist elements 
    $playlist = array(); 

    while ($row = mysql_fetch_array($result)){ 

     // add new element onto the end container 
     $playlist[] = array(
      'file' => $row['Bild.dateiname'], 
      'duration' => $row['Playlist.zeit'], 
     ); 

    } 

    $data = array(
     'playlist' => $playlist 
    ); 

    echo json_encode($data); 

    disconnect(); 
}