Web 프로그램/JSON, 파싱 다루기

[PHP] MySQL Data to JSON using PHP

Link2Me 2016. 12. 22. 14:48
728x90

Treeview 를 검색해서 테스트 하다보니 JSON 만드는 방법을 알아야 원하는 결과로 만들어 낼 수 있는 거 같다.


<?php
include_once "connect.php";
require_once 'treeClass.php'; // Tree 클래스
$t = new treeClass();
$sql = "SELECT * FROM treeview_items";
$result = mysqli_query($db, $sql);
while($row = mysqli_fetch_assoc($result)){
    $menu[] = $row;
}

?>


여기까지는 일반적인 형태로 배열화를 하는 방법이다.

만들어진 배열을 가지고 foreach 문을 이용하여 다시 재가공을 해야 한다.


$rows   = array();
$i=0;
foreach ($menu as $r) {
    $rows[$i]['first_name'] = $r->first_name;
    $rows[$i]['last_name'] = $r->last_name;
    $rows[$i]['phone'] = $r->phone;
    $rows[$i]['email'] = $r->email;

    $i++;
}

//keys total & rows is required on jEasyUI
$result = array('total'=>$menu['count'],'rows'=>$rows);
echo json_encode($result);



Android JSON 포멧으로 만드는 가장 일반적인 형태


<?php

include_once "connect.php";

$sql = "SELECT * FROM address";
$res = mysqli_query($db,$sql); 
$result = array(); 
while($row = mysqli_fetch_array($res)){ 
    array_push($result,
    array('id'=>$row[0],'name'=>$row[1],'address'=>$row[2]
    )); 


$json = json_encode(array("result"=>$result)); 

?>


여기서

    array_push($result,
    array('id'=>$row[0],'name'=>$row[1],'address'=>$row[2]
    )); 

부분을

$result['result'][] = $row;

로 하는게 더 편할 수 있다.

728x90