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

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

QA

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

답변 4

본문

고수님들 카테고리를 가져오는 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"));
}
?>
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 17,128
© SIRSOFT
현재 페이지 제일 처음으로