가상화폐 시세정보가 안나오네요..ㅠ
본문
예전에 코인 시세 관련 외주를 맡기고 오랜만에 들어가서 확인해보니
아래 부분(217번줄)에 오류가 있다네요..ㅠ
코드를 수정해야할 듯한데 어떻게 수정해야 할까요?..ㅠ
217번줄
<?php for($i=0;$i<count($JSONreturns);$i++){?>
<?php
include_once('./_common.php');
$g5['title']="가상화폐 시가총액 100위";
include_once(G5_PATH.'/head.php');
$cache_file = G5_DATA_PATH."/cache/bitcoin.php";
$cache_time=60;
include_once('./inc.php');
if($cache_fwrite){
$a_coin_name['Bitcoin'] = "비트코인";
$a_coin_name['Ethereum'] = "이더리움";
$a_coin_name['XRP'] = "리플";
$a_coin_name['Litecoin'] = "라이트코인";
$a_coin_name['Bitcoin Cash'] = "비트코인캐시";
$a_coin_name['EOS'] = "이오스";
$a_coin_name['Binance Coin'] = "바이낸스코인";
$a_coin_name['Tether'] = "테더";
$a_coin_name['Bitcoin SV'] = "비트코인SV";
$a_coin_name['TRON'] = "트론";
$a_coin_name['Cardano'] = "카르다노";
$a_coin_name['Stellar'] = "스텔라";
$a_coin_name['UNUS SED LEO'] = "UNUS SED LEO";
$a_coin_name['Monero'] = "모네로";
$a_coin_name['Dash'] = "대시";
$a_coin_name['NEO'] = "네오";
$a_coin_name['Chainlink'] = "체인링크";
$a_coin_name['IOTA'] = "아이오타";
$a_coin_name['Cosmos'] = "코스모스";
$a_coin_name['Ethereum Classic'] = "이더리움클래식";
$a_coin_name['NEM'] = "넴";
$a_coin_name['Tezos'] = "테조스";
$a_coin_name['Zcash'] = "제트캐시";
$a_coin_name['Ontology'] = "온톨로기";
$a_coin_name['Maker'] = "메이커";
$a_coin_name['Crypto.com Chain'] = "크립토닷컴 체인";
$a_coin_name['Qtum'] = "퀀텀";
$a_coin_name['Bitcoin Gold'] = "비트코인골드";
$a_coin_name['VeChain'] = "비체인";
$a_coin_name['Basic Attention Token '] = "베이직어텐션토큰";
$a_coin_name['Dogecoin'] = "도지코인";
$a_coin_name['USD Coin'] = "유에스디코인";
$a_coin_name['OmiseGO'] = "오미세고";
$a_coin_name['V Systems'] = "브이시스템즈";
$a_coin_name['Decred'] = "디크레드";
$a_coin_name['BitTorrent'] = "비트토렌트";
$a_coin_name['Holo'] = "홀로";
$a_coin_name['Ravencoin'] = "트루US달러";
$a_coin_name['TrueUSD'] = "하이퍼캐시";
$a_coin_name['HyperCash'] = "비트코인다이아몬드";
$a_coin_name['HedgeTrade'] = "헤지트레이드";
$a_coin_name['Huobi Token'] = "후오비토큰";
$a_coin_name['Lisk'] = "리스크";
$a_coin_name['Pundi X'] = "펀디엑스";
$a_coin_name['Egretia'] = "이그레시아";
$a_coin_name['Waves'] = "웨이브";
$a_coin_name['Aurora'] = "오로라";
$a_coin_name['0x'] = "제로엑스";
$a_coin_name['Qubitica'] = "쿠비티카";
$a_coin_name['Bytecoin'] = "바이트코인";
$a_coin_name['Bytom'] = "비톰";
$a_coin_name['Nano'] = "나노";
$a_coin_name['Augur'] = "어거";
$a_coin_name['BitShares'] = "비트셰어";
ob_start();
?>
<style>
table caption {visibility: hidden; height: 0; }
.common_table{
border-collapse: collapse;
border-top: 3px solid #cccccc;
border-left: 1px solid transparent;
}
.common_table thead tr th {
border-top:3px solid transparent;
}
.common_table th {
text-align:left;
border-right: 1px solid transparent;
border-bottom: 1px solid #eeeeee;
padding: 10px 3px;
text-align:left;
font-size:9pt;
background-color: transparent;
line-height:21px;
height:25px;
padding: 3px 0;
cursor:pointer;
}
.common_table td {
font-size:9pt;
text-align:left;
padding: 10px 3px;
border-right: 1px solid transparent;
border-bottom: 1px solid #eeeeee;
line-height:21px;
height:25px;
}
.table_content1{
width:100%;min-width:640px;
}
.table_content1 tfoot {display:none; }
.a_btn {
display:block;
height: 34px;
line-height: 34px;
width: 600px;
background: #eee;
border: 1px solid #ccc;
color: #fff;
text-align: left;
letter-spacing: -1px;
font-family: gulim;
cursor: pointer;
font-size: 12px;
margin-bottom:10px;
}
#coin_info {background:#ffffff; padding:10px;}
#coin_info h1 {font-size:20px;}
#bitcoin_arae {
width: 100%;
margin-bottom: 15px;
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
-ms-overflow-style: -ms-autohiding-scrollbar;
border-top: 1px solid #eeeeee;
}
</style>
<script type="text/javascript" src="./js/jquery-latest.js"></script>
<script type="text/javascript" src="./js/jquery.tablesorter.js"></script>
<script>
$(function() {
$("table").tablesorter({debug: true})
$("a.append").click(appendData);
});
var lastStudent = 23;
var limit = 500;
function appendData() {
var tdTagStart = '<td>';
var tdTagEnd = '</td>';
var sex = ['male','female'];
var major = ['Mathematics','Languages'];
for(var i = 0; i < limit; i++) {
var rnd = i % 2;
var row = '<tr>';
row += tdTagStart + 'student' + (lastStudent++) + tdTagEnd;
row += tdTagStart + major[rnd] + tdTagEnd;
row += tdTagStart + sex[rnd] + tdTagEnd;
row += tdTagStart + randomNumber() + tdTagEnd;
row += tdTagStart + randomNumber() + tdTagEnd;
row += tdTagStart + randomNumber() + tdTagEnd;
row += tdTagStart + randomNumber() + tdTagEnd;
row += '</tr>';
$("table/tbody:first").append(row);
};
$("table").trigger('update');
return false;
}
function randomNumber() {
return Math.floor(Math.random()*101)
}
</script>
<?php if (is_mobile()){?><p>손으로 이동해서 보세요.</p><?php } ?>
<div id="coin_info">
<style>
float:center;
text-align:center;
</style>
<h1>시세정보</h1>
<br>실시간 시세를 확인하실 수 있습니다.</br>
<h1> </h1>
<div id="bitcoin_arae">
<table class="common_table table_content1 tablesorter" border="0" cellpadding="0" cellspacing="0">
<thead>
<tr>
<!-- <th scope="col">순위</th> -->
<th scope="col">코인</th>
<!-- <th scope="col">코인명</th> -->
<th scope="col">원화</th>
<!-- <th scope="col">가격($)</th> -->
<th scope="col">변동율</th>
<!-- <th scope="col">가격변동<br>1시간</th>
<th scope="col">가격변동<br>24시간</th>
<th scope="col">가격변동<br>7일</th> -->
<!-- <th scope="col">발행량</th> -->
<th scope="col">시가총액</th>
</tr>
</thead>
<tbody>
<?php for($i=0;$i<count($JSONreturns);$i++){?>
<? if($JSONreturns[$i]->percent_change_1h == -100) $price_change = 0;
else $price_change = $JSONreturns[$i]->price_krw - ( $JSONreturns[$i]->price_krw / (1 + $JSONreturns[$i]->percent_change_1h / 100) ) ; ?>
<tr>
<!-- <td><?php echo $JSONreturns[$i]->rank?></td> -->
<!-- <td><?php echo $JSONreturns[$i]->symbol?></td> -->
<td><?php if($a_coin_name[$JSONreturns[$i]->name]) echo $a_coin_name[$JSONreturns[$i]->name]; else echo $JSONreturns[$i]->name; ?></td>
<td style="text-align:left;"><?php echo number_format($JSONreturns[$i]->price_krw)?> 원</td>
<!-- <td style="text-align:right;"><?php echo number_format($JSONreturns[$i]->price_usd ,2);?></td> -->
<td <? if ($JSONreturns[$i]->percent_change_1h > 0){ echo " style='color:red;text-align:left;'";}elseif($JSONreturns[$i]->percent_change_1h < 0){echo "style='color:blue;text-align:left;'";}else{echo "style='text-align:left;'";}?>><?php echo number_format($price_change)?> 원 (<?php echo $JSONreturns[$i]->percent_change_1h?> %)
<? if ($JSONreturns[$i]->percent_change_1h > 0) echo "▲"; elseif($JSONreturns[$i]->percent_change_1h < 0) echo "▼"; else echo ""; ?></td>
<!-- <td <? if ($JSONreturns[$i]->percent_change_1h > 0){ echo " style='color:red;text-align:right;'";}else{echo "style='color:blue;text-align:right;'";}?>><?php echo $JSONreturns[$i]->percent_change_1h?></td>
<td <? if ($JSONreturns[$i]->percent_change_24h > 0){ echo " style='color:red;text-align:right;'";}else{echo "style='color:blue;text-align:right;'";}?>><?php echo $JSONreturns[$i]->percent_change_24h?></td>
<td <? if ($JSONreturns[$i]->percent_change_7d > 0){ echo " style='color:red;text-align:right;'";}else{echo "style='color:blue;text-align:right;'";}?>><?php echo $JSONreturns[$i]->percent_change_7d?></td> -->
<!-- <td style="text-align:right;"><?php echo number_format($JSONreturns[$i]->total_supply)?></td> -->
<td style="text-align:left;"><?php if($JSONreturns[$i]->market_cap_krw>1000000000000) echo floor($JSONreturns[$i]->market_cap_krw / 1000000000000)."조"?><?php echo substr(floor($JSONreturns[$i]->market_cap_krw / 100000000),-4)?>억 <?php //echo floor($JSONreturns[$i]->market_cap_krw / 100000000)?></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
<?php
$content = ob_get_contents();
ob_end_flush();
$handle = fopen($cache_file, 'w');
fwrite($handle, $content);
fclose($handle);
}else{
include $cache_file;
}
?>
<?php
include_once(G5_PATH.'/tail.php');
?>
!-->!-->
답변 2
해당 줄에 오류가 나는 것은 해당 줄의 코드가 잘못된 것이 아니고
include_once('./inc.php');
여기 이 코드 파일내용과 관련이 있습니다.
공식 api를 이용하여 받아온 것이라면 해당 api에서 뭔가 변경이 있을 것 같고...
특정 사이트 스크랩 해오는 것이라면 해당 사이트 페이지가 변경되었을 가능성이 있을 것 같네요.
페이지가 변경되면 페이지내 선택자(태그, 아이디, 클래스 등)이 변경되었을 것 같습니다.
해답은 결국 inc.php파일내에 있겠네요.
현재 질문상의 코드에는
$JSONreturns 가 무엇인지 나와있지 않아 잘 모르겠습니다만
$JSONreturns 라고 지정된 변수가 count() 카운트 될 내역(?)이 없다는 에러로 보입니다.
질문상의 코드가 아닌 $JSONreturns 를 찾아 정상적으로 출력되고 있는지를 확인하셔야 할 것 같습니다.
답변을 작성하시기 전에 로그인 해주세요.