관리 메뉴

웹개발자의 기지개

php 로 DB에서 json 파일로 변환하기 본문

PHP

php 로 DB에서 json 파일로 변환하기

http://portfolio.wonpaper.net 2020. 2. 21. 00:23

전혀 다른 기기간의 데이터 통신을 할때,  XML 이나 json 형태로 데이터를 가공하여 작업을 할 수 있는데, 

이번에는 PHP 소스 상으로 DB (mysql) 상의 데이터를 json 형태로 만들어 보도록 하자.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?
header("Content-Type:application/json");
// DB 연결 환경파일
include "../inc/config.php";
 
$query = "select * from book_list limit 20";
$res   = mysql_query($query) or die("selecting error!");
 
if ($res) {
 
    $arr = array();
    while ($row = mysql_fetch_object($res)) {
        
        // 객체화
        $t = new stdClass();
        $t->goods_no = $row->goods_no;
        $t->goods_name = $row->goods_name;
        $t->sell_price = $row->sell_price;
        $t->goods_writer = $row->goods_writer;
        $t->goods_detail1 = $row->goods_detail1;
        $t->goods_pic1 = $row->goods_pic1;
 
        $arr[] = $t;
        unset($t);
    }
 
else {
    $arr = array(0 => 'empty');
}
 
 
echo json_encode($arr);
?>
cs

 

실행 화면

위의 실행화면은 goods_detail1 이 에디터내의 세부 코드가 같이 들어있어 다소 많은 량의 코드가 들어가 있는데, 

이 json 내용을 확인하기 쉽도록 아래의 그림 화면처럼  http://jsonviewer.stack.hu 에서 내용을 확인해 보자.

 

 

상기 예제에서 json 형태로

[ {"goods_no":"935","goods_name":"......","sell_price":"28000", .......} ] 

 

대괄호 [] 내에 중괄호 {}  를 한 묶음으로 만들어 봤는데 이번에는 

 

{"book": [{"goods_no":"935","goods_name":"......"}] } 형태로 book 이라는 객체내에 위의 내용들을 포함시켜 묶어 보도록하자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?
header("Content-Type:application/json");
// DB연결
include "../inc/config.php";
 
 
$query = "select * from book_list limit 20";
$res   = mysql_query($query) or die("selecting error!");
if ($res) {
 
    $arr2 = array();
 
        $arr = array();
        while ($row = mysql_fetch_object($res)) {
            
            $t = new stdClass();
            $t->goods_no = $row->goods_no;
            $t->goods_name = $row->goods_name;
            $t->sell_price = $row->sell_price;
            $t->goods_writer = $row->goods_writer;
            $t->goods_detail1 = $row->goods_detail1;
            $t->goods_pic1 = $row->goods_pic1;
 
            $arr[] = $t;
            unset($t);
        }
    
    // book 배열안에 위의 객체를 담아본다.
    $arr2['book'= $arr;
 
else {
    $arr2 = array(0 => 'empty');
}
 
 
echo json_encode($arr2);
?>
cs

 

실행화면

 

 

내용확인

 

 

 

 

Comments