영카트 카테고리 조회하는 api를 만드려고 하는데요

영카트 카테고리 조회하는 api를 만드려고 하는데요

QA

영카트 카테고리 조회하는 api를 만드려고 하는데요

본문

고수님들 카테고리를 가져오는 get api를 만들려고 하는데

 

아래와 같이 코딩을 했는데,

cate_item_get 함수를 안타는것 같아서 함수를 주석처리하고 호출해봤는데도

처음의 echo "dddd";  와 마지막 echo "<br/>end";는 출력이 되는데

중간에는 아에 안나오는데 이유가 뭘까요?

 

php 초보... 도와주세용 

 

 

getRoute()->get('/', 'cate_item_get');
##getRoute()->post('/cate_item_get', 'cate_item_get');
echo "dddd";
// cate_item_get
##function cate_item_get() {

   echo "ddddq2";
    // PROCESS DATA ARRAY
    
    $result_data = array();     # 결과 데이터
    

        /**
         * 기본정보
         */
   
        $result = sql_fetch(" SELECT ca_id, ca_name FROM `g5_shop_category` ORDER BY ca_order, ca_id ");
            
        
        // RESULT DATA RETURN
        $result_data["result_code"] = '1';
        $result_data["result_message"] = 'success';
        $result_data["data"] = array();
echo "1";
echo $result_data;
        // 가져온 데이터를 API 응답 배열에 추가
        if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
                $data = array();
                foreach ($columns as $column) {
                    $data[$column] = $row[$column];
                    echo $data[$column];
                }
                
                array_push($result_data["data"], $data);
            }
        } else {
            // ERROR
            $result_data['result_code'] = '9999';
            $result_data['result_message'] = 'No data found in the database!';
            echo "9999";

        }
        

        // API 응답 출력
    header('Content-Type:application/json; charset=utf-8');
    echo json_encode($result_data);
##}


echo "<br/>end";

이 질문에 댓글 쓰기 :

답변 4

다음을 참고 하셔서 원하시는 형식으로 구현하시면 되지 않을까 생각합니다.


<?php
function cate_item_get() {
    $result_data = array(); 
    $result = sql_fetch("SELECT ca_id, ca_name FROM `g5_shop_category` ORDER BY ca_order, ca_id ");
    $result_data["result_code"] = '1';
    $result_data["result_message"] = 'success';
    $result_data["data"] = array();
    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            $data = array();
            // $columns 변수가 없으므로 해당 부분 수정
            $data["ca_id"] = $row["ca_id"];
            $data["ca_name"] = $row["ca_name"];
            array_push($result_data["data"], $data);
        }
    } else {
        $result_data['result_code'] = '9999';
        $result_data['result_message'] = 'No data found in the database!';
    }
    header('Content-Type:application/json; charset=utf-8');
    echo json_encode($result_data);
}
$method = $_SERVER['REQUEST_METHOD'];
$path = $_SERVER['REQUEST_URI'];
if ($method == 'GET' && $path == '/') {
    cate_item_get();
} else {
    http_response_code(404);
    echo json_encode(array("result_code" => 404, "result_message" => "Not Found"));
}

 

JSON 응답과 한글 표현:
JSON 응답에서 한글이 유니코드로 표현되는 것은 PHP의 json_encode() 함수가 Unicode 이스케이프를 적용하기 때문입니다. 

json_encode() 함수에 JSON_UNESCAPED_UNICODE 플래그를 추가하여 유니코드 이스케이프를 제거할 수 있습니다.

 

다음을 참고해 보세요


<?php
function cate_item_get() {
    $result_data = array(); 
    $result = sql_fetch("SELECT ca_id, ca_name FROM `g5_shop_category` ORDER BY ca_order, ca_id ");
    $result_data["result_code"] = '1';
    $result_data["result_message"] = 'success';
    $result_data["data"] = array();
    if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
            $data = array();
            // $columns 변수가 없으므로 해당 부분 수정
            $data["ca_id"] = $row["ca_id"];
            $data["ca_name"] = $row["ca_name"];
            array_push($result_data["data"], $data);
        }
    } else {
        $result_data['result_code'] = '9999';
        $result_data['result_message'] = 'No data found in the database!';
    }
    header('Content-Type: application/json; charset=utf-8');
    echo json_encode($result_data, JSON_UNESCAPED_UNICODE); // 유니코드 이스케이프를 제거하여 한글을 그대로 출력
}
$method = $_SERVER['REQUEST_METHOD'];
$path = $_SERVER['REQUEST_URI'];
if ($method == 'GET' && $path == '/') {
    cate_item_get();
} else {
    http_response_code(404);
    echo json_encode(array("result_code" => 404, "result_message" => "Not Found"));
}
?>
답변을 작성하시기 전에 로그인 해주세요.
전체 2,429
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT