使用PHP显示Cryptocoin图表API中的数据

时间:2014-01-02 13:36:50

标签: javascript php api bitcoin valueconverter

Hey Stackoverflow,

我为自己设定了一个小项目来庆祝加密货币的兴起(刚刚由一家传统银行用一些令人难以置信的'非Christmassy'指控缝合,越来越多地使用分散货币是最受欢迎的启示)。

基本上,我希望能够通过以下API在我的网站上显示数据:

http://www.cryptocoincharts.info/v2/api/listCoins

至少(至少我相信)这将使我能够使用javascript来执行我自己的交换计算,使用在那里找到的数据作为基本费率,然后我可以将其变成一个易于使用的表单交换计算器。

这就是我到目前为止......

来自cryptocoincharts的示例PHP:

// fetch data
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://www.cryptocoincharts.info/v2/api/listCoins");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$rawData = curl_exec($curl);
curl_close($curl);

// decode to array
$data = json_decode($rawData);

// show data
echo "<pre>";
foreach ($data as $row) echo $row->id." - ".$row->name."\n";
echo "</pre>";

用于交换计算的Javascript:

    <script language="JavaScript">
    <!--
    function goldConverter(){
    document.converter.bitcoin.value = document.converter.gold.value * 0.05019370
    document.converter.litecoin.value = document.converter.gold.value * 1.56379100
    document.converter.peercoin.value = document.converter.gold.value * 7.52631578
    }
    function bitcoinConverter(){
    document.converter.gold.value = document.converter.bitcoin.value * 19.92281899
    document.converter.litecoin.value = document.converter.bitcoin.value * 0.03210000
    document.converter.peercoin.value = document.converter.bitcoin.value * 0.00667000
    }
    </script>

为了进一步说明我的意图是使用来自cyrptocoincharts的数据(或多或少)实现交换值的实时自动更新,上面列出的数字用于测试。

这是我的HTML:

    <form name="converter">
    <table border="0">
    <tr>
    <td>Gold (g): </td><td><input type="text" name="gold" onChange="goldConverter()" /></td>
    </tr>
    <tr>
    <td>Bitcoin: </td><td><input type="text" name="bitcoin" onChange="bitcoinConverter()" /></td>
    </tr>
    <tr>
    <td>Litecoin:</td><td><input type="text" name="litecoin" onChange="litecoinConverter()" /></td>
    </tr>
    <tr>
    <td colspan="2" align="center"><input type="button" value="Convert" /></td>
    </tr>
    </table>
    </form>

要点:

如果有人能够指出我正确的方向(特别是关于API),或者帮助我将其作为一个整体工作,我会非常感激并给予应有的信用,我意识到我有很多学习这是我在stackoverflow上的第一篇文章,如果我违反了任何不成文的规则,请道歉。

更新

我最近发现了money.js可能解决了我的问题,我目前正在尝试将数据源从OpenExchange Rates API更改为Cryptocoin Charts API。

更新2.0:

现在使用simple_html_dom.php抓取HTML页面似乎是最直接的方法,但是我收到以下错误:

  

警告:include_once(simple_html_dom.php)[function.include-once]:   无法打开流:没有这样的文件或目录   第22行/srv/disk13/1587290/www/bildungsroman.me.pn/index.php

     

警告:include_once()[function.include]:打开失败   包含'simple_html_dom.php'   (include_path ='。:/ usr / local / php-5.3.22 / share / pear')in   第22行/srv/disk13/1587290/www/bildungsroman.me.pn/index.php

     

致命错误:调用未定义的函数file_get_html()   第25行/srv/disk13/1587290/www/bildungsroman.me.pn/index.php

我的新代码如下:

<!DOCTYPE html>
<html lang="en">

  <head>

    <meta charset="utf-8">

    <title>title</title>

    <link rel="stylesheet" href="style.css">


  </head>

  <body>

    <!-- page content -->


    <?php
    include_once('simple_html_dom.php');

    $html = file_get_html('http://www.cryptocoincharts.info/v2/api/listCoins');

    $result = $html -> find('name');

    foreach($result as $element) {
        echo $element."<br/>";
    }
    ?>

  </body>

</html>

1 个答案:

答案 0 :(得分:0)

上面的PHP脚本应该在simple_html_dom.php目录中,或者使用绝对路径而不是您使用的相对路径。