嘿 Stackoverflow,
我为自己设定了一个小项目来庆祝加密货币的兴起(我自己刚刚被一家传统银行以一些令人难以置信的“非圣诞节”收费缝合,越来越多地使用去中心化货币是一个最受欢迎的启示)。
基本上,我希望能够通过以下 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]:无法在 /srv/disk13/1587290/ 中打开 'simple_html_dom.php' 以包含 (include_path='.:/usr/local/php-5.3.22/share/pear') www/bildungsroman.me.pn/index.php 第 22 行
致命错误:在第 25 行的 /srv/disk13/1587290/www/bildungsroman.me.pn/index.php 中调用未定义函数 file_get_html()
我的新代码如下:
<!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>