홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
[jQuery.$ajax]mysql + php 서버에서 json 데이터 얻어오기
6년 전
webapp, hybrid 프로젝트에 있어 가장 많이 쓰이는 기법인데 많은 자료가 없는 듯 해, 기본적인 예제를 통해 방법을 익힐 수 있도록 포스팅한다.
다양한 방법을 통해 db의 자료를 json형식으로 얻을 수 있겟지만, 가장 쉽게 구현할 수 있는 PHP JSON 라이브러리를 활용한 방법을 소개한다.

PHP JSON 라이브러리는 http://pear.php.net/package/Services_JSON/download/ 에서 다운로드 가능하다. 다운로드한 라이브러리(JSON.php)는 JSON데이터를 내려줄 서버에 등록하고, 코드 작성을 시작하겠다.

<?php
    require('JSON.php'); // 서버에 등록한 라이브러리

    try{
        $connection = mysql_connect("localhost","아이디","비밀번호") or die ("Could not connect: " . mysql_error());
        mysql_query("SET NAMES utf8", $connection);
        mysql_select_db("DB명", $connection);

        $sql = "SELECT * FROM 테이블";
        $sth = mysql_query($sql) or die ("Could not connect: " . mysql_error());

        //JSON객체생성
        $json = new Services_JSON();

        $rows = array();
        while($r = mysql_fetch_assoc($sth)){
            $rows[] = $r;
        }

        $output = $json->encode($rows);
        echo $output;

        mysql_close($connection);
    }catch(Exception $e){
        //로그 기록
        echo $e->getMessage();
    }
?>

이제 서버에서 JSON 데이터를 내려줄 준비는 끝났다.
다음으로 서버에 JSON 데이터를 요청하고 받은 결과를 뿌려주는 화면 영역 코드 작성을 해보자.



<!doctype html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>json데이터 사용하기</title>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
</head>
<body>
<div id="bodySwrap">

</div><!-- //bodySwrap -->
<script>
    $.ajax({
        type:'POST',
        url:'작성한 서버 URL',
        dataType:'json',
        timeout: 10000,
        success: function(data){
            alert(data[0].subject);
            alert(data.length);
        },
        error: function(request, textStatus, errorThrown){
            //에러내용확인
            alert('error: ' + textStatus);
        },
    });
</script>
</body>
</html>


위와 같이 작성이 되었다면, 브라우저에서 화면을 열어보자.
화면을 실행하면, DB에서 출력된 JSON의 첫번째 데이터의 subject필드 팝업 출력 후 JSON데이터의 길이 팝업이 출력될 것이다.

위와 같은 기본 구조를 활용하여, 다양한 방식으로 구현 가능할 것이다.
추천추천 : 201 추천 목록
번호 제목
3,033
 PHP 정규식 정리
3,032
 PHP 정규식을 활용한 태그 및 특정 문자열 제거 및 추출 방법
3,031
 php 크롤링 또는 파싱 함수, 정규식 모음
3,030
 제이쿼리 기본 명령어
3,029
 웹페이지 가로 모드세로 모드 인식하기
3,028
 모바일 웹 화면 강제 회전(가로모드 고정)
3,027
 [HTML5]에서 frameset 대체 방법과 iframe 속성
3,026
 HTML <Audio> 사용법
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,015
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
3,010
 iframe 높이 100% 맞추기
3,009
 curl 함수를 이용한 HTTP REFERER 변경
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.