嘿堆栈溢出,
我为自己设定了一个小项目来庆祝加密货币的兴起(刚刚被一家传统银行用一些令人难以置信的"非圣诞节"收费缝合,去中心化货币的日益使用是一个最受欢迎的启示)。
基本上,我希望能够在我的网站上显示来自以下API的数据:
http://www.cryptocoincharts.info/v2/api/listCoins
因为(至少我相信)这将使我能够使用javascript来执行我自己的汇率计算,使用那里的数据作为基本汇率,然后我可以将其转换为一个易于使用的汇率计算器。
这就是我目前所拥有的。。。
加密货币图表中的示例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>
为了进一步澄清我的意图是使用cyrptocincharts的数据实现(或多或少)实时自动更新交换值,上面列出的数字是为了测试。
这是我的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),或者帮助我将其作为一个整体来工作,我将非常感谢,并在适当的时候给予赞扬,我意识到我还有很多学习要做,这是我在stackerflow上的第一篇文章,所以如果我违反了任何不成文的规则,我很抱歉。
更新:
我最近发现了money.js,这可能会解决我的问题,我目前正在尝试将数据源从OpenExchange Rates API更改为Cryptocoin Charts API。
更新2.0:
现在使用simple_html_dom.php来抓取html页面,这似乎是最直接的方法,但我收到了以下错误:
警告:include_one(simple_html_dom.php)[function.include once]:无法打开流:中没有这样的文件或目录/srv/disk13/1587290/www/bildungsran.me.pn/index.php,第22行
警告:include_once()[function.include]:打开失败用于包含的"simple_html_dom.php"(include_path='.:/usr/local/php-5.3.22/share/pear')/srv/disk13/1587290/www/bildungsran.me.pn/index.php,第22行
致命错误:调用中未定义的函数file_get_html()/srv/disk13/1587290/www/bildungsran.me.pn/index.php,第25行
我的新代码如下:
<!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>
上面的PHP脚本应该在simple_html_dom.PHP目录中,或者使用绝对路径而不是您使用的相对路径。