영카트 경로 문제

영카트 경로 문제

QA

영카트 경로 문제

본문

안녕하세요..고수님들

 

예전에 만들어서 운영하다 접어둔 사이트를 글자만 수정하여 성격이 다른 사이트로 바꾸려고 하는데요.

경로가 깨졌는지 문제가 생겨서 도움을 청합니다.

 

http://camcar.kr/shop/item.php?it_id=1610196679

 

상기 상품의 환율계산이 안 되고 아래 그림과 같이 표현이 됩니다.

988181774_1610469740.1194.png

 

이 질문에 댓글 쓰기 :

답변 2

환율계산 가져오는 소스가 끊긴거 아닐까요?

일단 확인되는건 달러 기준 usd라는 값이 어디서 오는건데요

그래서 그걸 가격/usd로 계산해줘서 값이 토출이 되는건데..

그게 어디서 오는지는 저 페이지로는 확인이 안되네요

lib이나 extend 어디에 있을 수 있겠습니다

혹시 이 걸까요??

<?php
function exchange_currency(){
    //$exchange_url = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22USDKRW,EURKRW,JPYKRW,CNYKRW%22)&format=json&env=store://datatables.org/alltableswithkeys&callback=";
    $exchange_url = "http://api.manana.kr/exchange/rate/KRW/EUR,JPY,USD,CNY.json";
      //http://data.fixer.io/api/latest?access_key=f5c328af24a323ce3e36bbd124c34d6b&base=EUR&symbols=KRW,USD,CNY,JPY
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $exchange_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1000);
    $rt = curl_exec($ch);
    curl_close($ch);

    $obj = json_decode($rt);
    $query = "INSERT INTO exchange_currency SET ";
    foreach($obj as $key => $value){
        $value->name = substr($value->name, 0, 3);
//        echo($value->date." | ".$value->name." | ". $value->rate); // 환율 넣기...
        $query .= $value->name."= '".$value->rate."', ";
        echo "<br>";
    }
//    echo  " CNY: 154.3, USD: 994,  EUR: 1130, JPY: 898";

    $query .= 'reg_date = now() ';

    //1시간 이내의 업데이트가 없으면 환율 업데이트.
    $sql = "select count(*) as cnt from exchange_currency WHERE reg_date > DATE_ADD( NOW() , INTERVAL -1 HOUR ) limit 1";
    $result = sql_query($sql);
    $chk_row = sql_fetch_array($result);

    $ret_msg = 0;
//    echo '업데이트 갯수:::'.$chk_row['cnt'];
    if($chk_row['cnt'] == 0) {
        sql_query($query);
        $ret_msg =1;
    }

    return $ret_msg;
}

//환율정보 가져오기_
function getCurrency($basic_currency_field){
//    echo "getCurreccy=".$basic_currency_field;
    if(basic_currency_field !=''){
        $sql = "select ".$basic_currency_field." from exchange_currency order by reg_date DESC limit 1";
        $result = sql_query($sql);
        $cData = sql_fetch_array($result);
        return  $cData[$basic_currency_field];
    }else{
        return $basic_currency_field;
    }
}

//환율전체정보 가져오기
function getAllCurrtrency(){
    $sql = "select CNY, EUR, JPY, USD from exchange_currency order by reg_date DESC limit 1";
    $result = sql_query($sql);
    $cData = sql_fetch_array($result);
    return $cData;
}
?>

맞네요

https://api.manana.kr/exchange/rate/KRW/EUR,JPY,USD,CNY.json

쳐보셔서 값을 확인 후

exchange_currency 테이블에 정확히 올라가는지 보시고

만약 정확히 올라갔다면 그 뒤에 뿌려주는게 문제인거고

안올라갔다면 업데이트가 문제입니다

소스보니 해당 환율보여지는 값에 빈값으로 확인이 됩니다.

환율가져오는 부분이 제대로 안불러와져서 깨지는듯 합니다.

<?php
function exchange_currency(){
    //$exchange_url = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20(%22USDKRW,EURKRW,JPYKRW,CNYKRW%22)&format=json&env=store://datatables.org/alltableswithkeys&callback=";
    $exchange_url = "http://api.manana.kr/exchange/rate/KRW/EUR,JPY,USD,CNY.json";
      //http://data.fixer.io/api/latest?access_key=f5c328af24a323ce3e36bbd124c34d6b&base=EUR&symbols=KRW,USD,CNY,JPY
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $exchange_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1000);
    $rt = curl_exec($ch);
    curl_close($ch);

    $obj = json_decode($rt);
    $query = "INSERT INTO exchange_currency SET ";
    foreach($obj as $key => $value){
        $value->name = substr($value->name, 0, 3);
//        echo($value->date." | ".$value->name." | ". $value->rate); // 환율 넣기...
        $query .= $value->name."= '".$value->rate."', ";
        echo "<br>";
    }
//    echo  " CNY: 154.3, USD: 994,  EUR: 1130, JPY: 898";

    $query .= 'reg_date = now() ';

    //1시간 이내의 업데이트가 없으면 환율 업데이트.
    $sql = "select count(*) as cnt from exchange_currency WHERE reg_date > DATE_ADD( NOW() , INTERVAL -1 HOUR ) limit 1";
    $result = sql_query($sql);
    $chk_row = sql_fetch_array($result);

    $ret_msg = 0;
//    echo '업데이트 갯수:::'.$chk_row['cnt'];
    if($chk_row['cnt'] == 0) {
        sql_query($query);
        $ret_msg =1;
    }

    return $ret_msg;
}

//환율정보 가져오기_
function getCurrency($basic_currency_field){
//    echo "getCurreccy=".$basic_currency_field;
    if(basic_currency_field !=''){
        $sql = "select ".$basic_currency_field." from exchange_currency order by reg_date DESC limit 1";
        $result = sql_query($sql);
        $cData = sql_fetch_array($result);
        return  $cData[$basic_currency_field];
    }else{
        return $basic_currency_field;
    }
}

//환율전체정보 가져오기
function getAllCurrtrency(){
    $sql = "select CNY, EUR, JPY, USD from exchange_currency order by reg_date DESC limit 1";
    $result = sql_query($sql);
    $cData = sql_fetch_array($result);
    return $cData;
}
?>

답변을 작성하시기 전에 로그인 해주세요.
전체 281
QA 내용 검색

회원로그인

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