채택완료

영카트 경로 문제

안녕하세요..고수님들

 

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

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

 

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

 

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

988181774_1610469740.1194.png

 

|

답변 2개 / 댓글 8개

채택된 답변
+20 포인트

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

답변에 대한 댓글 4개

그러니까요..뭐가 잘못 된건지를 몰라서요..혹시 방법이 있을까요?
일단 확인되는건 달러 기준 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 테이블에 정확히 올라가는지 보시고

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

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

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

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

답변에 대한 댓글 4개

감사합니다.. 수정방법이 있을까요?
환율가져오는 소스를 봐야 알수 있을듯 합니다.
<?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;
}
?>
네 위 소스를 수정을 봐야 할듯 합니다.

답변을 작성하려면 로그인이 필요합니다.