我正在尝试在我的网站上添加一些内容,但我坚持了下来。我想刷新“现场”,如果有变化,例如JSON的美元价格,我从coinmarket撤出。因此,不知何故,我需要检查是否有变化,拉动它并在我的网站上重新加载显示不同的颜色,例如RED,如果有变化。
在本网站上显示http://lrandomdev.com/demo/crypto/(实时市场观点)
如果有人可以帮我这个。在demo(http://lrandomdev.com/demo/crypto/)上,他们使用socket.io进行实时显示。
我可以用ajax重新加载php文件,但这不是我需要的,我需要刷新BTC PRICE,例如,如果有变化则显示不同的颜色。
<table id="coini" class="table table-sm">
<thead>
<tr>
<th scope="col">Rank</th>
<th scope="col">Symbol</th>
<th scope="col">USD Price</th>
<th scope="col">BTC Price</th>
<th scope="col">Market (USD)</th>
<!-- <th scope="col">Available</th>
<th scope="col">Total</th>
<th scope="col">Max</th>
<th scope="col">Change(1h)</th>
<th scope="col">Change(24h)</th>
<th scope="col">Change(7d)</th>
<th scope="col">Updated</th>-->
</tr>
</thead>
<tbody>
<?php
ini_set('max_execution_time', 300);
$url ='https://api.coinmarketcap.com/v1/ticker/?start=0&limit=11';
$data = file_get_contents($url);
$characters = json_decode($data);
foreach ($characters as $character) {
echo '<tr>';
echo '<th scope="row">' . $character->rank .' - '. $character->name .'</th>';
echo '<td><span class="sprite sprite-'.strtolower($character->name) .' small_coin_logo"></span>' . $character->symbol . '</td>';
echo '<td id="price_usd">' . $character->price_usd . '</td>';
echo '<td id="price_btc">' . $character->price_btc . '</td>';
echo '<td>' . $character->market_cap_usd . '</td>';
/*echo '<td>' . $character->available_supply . '</td>';
echo '<td>' . $character->total_supply . '</td>';
echo '<td>' . $character->max_supply . '</td>';
echo '<td>' . $character->percent_change_1h . '%</td>';
echo '<td>' . $character->percent_change_24h . '%</td>';
echo '<td>' . $character->percent_change_7d . '%</td>';
echo '<td>' . $character->last_updated . '</td>';*/
echo '</tr>';
}
?>
</tr>
</tbody>
</table>
答案 0 :(得分:1)
如果您想使用JavaScript / jQuery检查更改,那么我就不会打扰ping API并首先使用PHP打印数据。检查API并在前端显示它。将数据保存在javaScript变量中,并遍历这些值并根据新数据进行检查。
获取新数据是另一个问题。您可以使用setInterval()
半定期检查数据。获取数据&#34;直播&#34;需要与某些服务建立活动连接,这可能会在更改内容时将数据推送到浏览器。这必须通过套接字连接来完成。但是你可能很难找到这种免费服务。