从json PHP刷新数据

时间:2018-02-02 22:23:07

标签: php jquery json

我正在尝试在我的网站上添加一些内容,但我坚持了下来。我想刷新“现场”,如果有变化,例如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>

1 个答案:

答案 0 :(得分:1)

如果您想使用JavaScript / jQuery检查更改,那么我就不会打扰ping API并首先使用PHP打印数据。检查API并在前端显示它。将数据保存在javaScript变量中,并遍历这些值并根据新数据进行检查。

获取新数据是另一个问题。您可以使用setInterval()半定期检查数据。获取数据&#34;直播&#34;需要与某些服务建立活动连接,这可能会在更改内容时将数据推送到浏览器。这必须通过套接字连接来完成。但是你可能很难找到这种免费服务。