728x90

PHP에서 json_encode 로 데이터를 만들어서 jQuery 에서 ajax를 이용하여 원하는 데이터를 처리하는 방법이다.


$sql ="select userNM,telNO,mobileNO,codeID FROM member ";
$sql.="where userID='".$_REQUEST['userID']."'";
$result = mysqli_query($db,$sql);
$R = array();
if($row = mysqli_fetch_assoc($result)):
    array_push($R,$row);
endif;
echo json_encode($R);
 



jQuery ajax 로 결과를 받은 데이터는 JSON object 인데 그냥은 원하는 결과를 파싱할 수가 없다.

실력이 부족해서인지 개념부족인지 여기서 막힌다.

( 참조하면 왜 그런지 알 수 있다 : https://link2me.tistory.com/1595 )

그래서 Array로 변환하여 데이터를 처리했다.


 $('#getStaffData').on('click',function(){
    var userID = $('input[name=userID]').val();
    if(userID.length == 0){
        alert('입력값이 없습니다.');
        $('input[name=userID]').focus();
        return false;
    }

    $.ajax({
        url: "StaffFetchData.php",
        type: "POST",
        data: {userID:userID},
        dataType: "JSON",
        success: function (data) {
            //console.log(data);
            var arr= new Array();
            $.each(data, function(key, obj){
                $.each(obj,function(k,value){
                    arr.push(value)
                });
            });
            console.log(arr);
            $('input[name=userNM]').val(arr[0]);
            $('input[name=telNO]').val(arr[1]);
            $('input[name=mobileNO]').val(arr[2]);
            $('#codeID').val(arr[3]);
        }
    });

});


로컬에서 만든 임의의 데이터와 PHP를 통해 가져온 데이터의 차이점이 있다는 걸 알아야 한다.

Android 에서 JSON 데이터를 파싱처리하고자 한다면 파싱 처리하는 코드를 알아야 처리할 수 있다.

블로그 이미지

Link2Me

,