Api

我如何能夠在我用 php 製作的網站上顯示 24 個開放、高和低

  • July 1, 2017

我是一個自以為是的設計師/開發人員,知道基本的 photohp/css3/html5 和一點 python/php。我從未使用過 API 來獲取統計資訊,所以請您指出正確的方向嗎?

我很想在我的 php 網站上顯示 BTC 的 24 小時開盤價、高價和低價,這裡是 api 參考:https ://docs.gdax.com/?php#get-historic-rates

你們中的任何人都可以為我製作一個包含必要程式碼的 .php 文件嗎?這將是一個很大的幫助。

我得到了這個程式碼來開始:

<?php

// get the HTTP method, path and body of the request
$method = $_SERVER['REQUEST_METHOD'];
$request = explode('/', trim($_SERVER['PATH_INFO'],'/'));
$input = json_decode(file_get_contents('php://input'),true);

// connect to the mysql database
$link = mysqli_connect('localhost', 'user', 'pass', 'dbname');
mysqli_set_charset($link,'utf8');

// retrieve the table and key from the path
$table = preg_replace('/[^a-z0-9_]+/i','',array_shift($request));
$key = array_shift($request)+0;

// escape the columns and values from the input object
$columns = preg_replace('/[^a-z0-9_]+/i','',array_keys($input));
$values = array_map(function ($value) use ($link) {
 if ($value===null) return null;
 return mysqli_real_escape_string($link,(string)$value);
},array_values($input));

// build the SET part of the SQL command
$set = '';
for ($i=0;$i<count($columns);$i++) {
 $set.=($i>0?',':'').'`'.$columns[$i].'`=';
 $set.=($values[$i]===null?'NULL':'"'.$values[$i].'"');
}

// create SQL based on HTTP method
switch ($method) {
 case 'GET':
   $sql = "select * from `$table`".($key?" WHERE id=$key":''); break;
 case 'PUT':
   $sql = "update `$table` set $set where id=$key"; break;
 case 'POST':
   $sql = "insert into `$table` set $set"; break;
 case 'DELETE':
   $sql = "delete `$table` where id=$key"; break;
}

// excecute SQL statement
$result = mysqli_query($link,$sql);

// die if SQL statement failed
if (!$result) {
 http_response_code(404);
 die(mysqli_error());
}

// print results, insert id or affected row count
if ($method == 'GET') {
 if (!$key) echo '[';
 for ($i=0;$i<mysqli_num_rows($result);$i++) {
   echo ($i>0?',':'').json_encode(mysqli_fetch_object($result));
 }
 if (!$key) echo ']';
} elseif ($method == 'POST') {
 echo mysqli_insert_id($link);
} else {
 echo mysqli_affected_rows($link);
}

// close mysql connection
mysqli_close($link);

謝謝!

您共享的許多程式碼都是不必要的,並且與在 PHP 中使用 API 無關。

這是3個基本步驟。定義您想要的 API 端點的 URL,在 PHP 中獲取該 URL,將值返回到您的頁面。

這是一個簡單的例子:

<?php
//define API endpoint
$url = "https://api.gdax.com/products/BTC-USD/stats";

//fetch the url and convert the JSON into an associative array
$fgc = json_decode(file_get_contents($url), true);

//assign values to variables
$open = $fgc["open"];
$high = $fgc["high"];
$low = $fgc["low"];
$close = $fgc["close"];
?>
<html>
<h1>My Website</h1>
<p>Bitcoin 24 HR stats</p>
Open: $<?php echo $open; ?><br>
High: $<?php echo $high; ?><br>
Low: $<?php echo $low; ?><br>
Close: $<?php echo $close; ?><br>
</html>

引用自:https://bitcoin.stackexchange.com/questions/55092