Я не могу распечатать конкретные данные из JSON API через PHP - PullRequest
0 голосов
/ 20 мая 2018

Я погуглил и сложил больше, но не смог найти ответ, я новичок в php и пытаюсь получить некоторые данные из URL-адреса API и напечатать на странице php.Я могу получить данные ниже в виде списка на странице php;

(https://api.coinmarketcap.com/v1/ticker/)

[
{
    "id": "bitcoin", 
    "name": "Bitcoin", 
    "symbol": "BTC", 
    "rank": "1", 
    "price_usd": "8322.85", 
    "price_btc": "1.0", 
    "24h_volume_usd": "4869660000.0", 
    "market_cap_usd": "141845183997", 
    "available_supply": "17042862.0", 
    "total_supply": "17042862.0", 
    "max_supply": "21000000.0", 
    "percent_change_1h": "0.19", 
    "percent_change_24h": "1.51", 
    "percent_change_7d": "-1.79", 
    "last_updated": "1526756673"
}, 
{
    "id": "ethereum", 
    "name": "Ethereum", 
    "symbol": "ETH", 
    "rank": "2", 
    "price_usd": "704.929", 
    "price_btc": "0.0848123", 
    "24h_volume_usd": "2072880000.0", 
    "market_cap_usd": "70167110497.0", 
    "available_supply": "99537841.0", 
    "total_supply": "99537841.0", 
    "max_supply": null, 
    "percent_change_1h": "0.19", 
    "percent_change_24h": "2.6", 
    "percent_change_7d": "4.19", 
    "last_updated": "1526756663"
}, 

А вот коды php, которые являются успешными для данных выше,

    <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<title>Dijital Para</title>
</head>
<body>
<?php

    $json_url = "https://api.coinmarketcap.com/v1/ticker/"; //json data adresi
    $json_file = file_get_contents($json_url, null);
    $crypto = json_decode($json_file);
    //$kur = 4,43


    $i=0; //dizi index
    foreach($crypto as $mydata) // foreach ile okunup diziye atılıyor
    {
        $crypto_array[$i][0] = $mydata->rank; //sira
        $crypto_array[$i][1] = $mydata->name; //isim
        $crypto_array[$i][2] = $mydata->symbol; //sembol
        $crypto_array[$i][3] = $mydata->price_usd; //dolar
        $crypto_array[$i][4] = $mydata->price_btc; //btc
        $crypto_array[$i][5] = $mydata->market_cap_usd; //market degeri
        $crypto_array[$i][6] = $mydata->available_supply; //
        $crypto_array[$i][7] = $mydata->total_supply; //
        $crypto_array[$i][8] = $mydata->max_supply; //
        $crypto_array[$i][9] = $mydata->percent_change_1h; //1saat
        $crypto_array[$i][10] = $mydata->percent_change_24h; //24saat
        $crypto_array[$i][11] = $mydata->percent_change_7d; //7gun
        $crypto_array[$i][12] = $mydata->last_updated; //son guncelleme

        $array = array(); // dinamik dizi
        $i++;
    }
?>
<div class="container">
    <div class="row">
        <div class="col-md-8">
        <table class="table">
            <tr style="font-weight:bold;">
                <td></td>
                <td>#</td>
                <td>Coin</td>
                <td>Sembol</td>
                <td>$</td>
                <td>BTC</td>
                <td>Market Hacmi $</td>
            <!--<td>Avaliable Supply</td>
                <td>Total Supply</td>
                <td>Max. Supply</td>  -->
                <td>1H</td>
                <td>24H</td>
                <td>7D</td>

            <!--<td>Last Updated</td> -->
            </tr>
            <?php

            for($i=0;$i<count($crypto_array);$i++)
            {
                echo "<tr>";
                    echo "<td><img width='16' height='16 src='https://s2.coinmarketcap.com/static/img/coins/16x16/". $crypto_array[$i][0] .".png'/></td>";
                    echo "<td>". $crypto_array[$i][0] ."</td>";
                    echo "<td>". $crypto_array[$i][1] ."</td>";
                    echo "<td>". $crypto_array[$i][2] ."</td>";
                    echo "<td>". $crypto_array[$i][3] ." $</td>";
                    echo "<td>". $crypto_array[$i][4] ."</td>";
                    echo "<td>". $crypto_array[$i][5] ." $</td>";
                //  echo "<td>". $crypto_array[$i][6] ."</td>";
                //  echo "<td>". $crypto_array[$i][7] ."</td>";
                //  echo "<td>". $crypto_array[$i][8] ."</td>";
                    echo "<td>". $crypto_array[$i][9] ."</td>";
                    echo "<td>". $crypto_array[$i][10] ."</td>";
                    echo "<td>". $crypto_array[$i][11] ."</td>";
                //  echo "<td>". $crypto_array[$i][13] ."</td>";


                echo "</tr>";
            }
            ?>
        </table>
        </div>
        <div class="col-md-4">
        </div>
    </div>
</div>
</body>
</html>

Но для нового типа api coinmarketcap я не смог пересмотреть php коды, не могли бы вы помочь?Вот тип данных, и я не знаю, как я могу перечислить эти типы данных на странице php;

(https://api.coinmarketcap.com/v2/ticker/)

{
"data": {
    "1": {
        "id": 1, 
        "name": "Bitcoin", 
        "symbol": "BTC", 
        "website_slug": "bitcoin", 
        "rank": 1, 
        "circulating_supply": 17040812.0, 
        "total_supply": 17040812.0, 
        "max_supply": 21000000.0, 
        "quotes": {
            "USD": {
                "price": 8131.3, 
                "volume_24h": 6045350000.0, 
                "market_cap": 138563954616.0, 
                "percent_change_1h": -0.12, 
                "percent_change_24h": -1.66, 
                "percent_change_7d": -5.16
            }
        }, 
        "last_updated": 1526666072
    }, 
    "1027": {
        "id": 1027, 
        "name": "Ethereum", 
        "symbol": "ETH", 
        "website_slug": "ethereum", 
        "rank": 2, 
        "circulating_supply": 99515795.0, 
        "total_supply": 99515795.0, 
        "max_supply": null, 
        "quotes": {
            "USD": {
                "price": 682.211, 
                "volume_24h": 2421370000.0, 
                "market_cap": 67890770022.0, 
                "percent_change_1h": 0.2, 
                "percent_change_24h": -1.77, 
                "percent_change_7d": -0.16
            }
        }, 
        "last_updated": 1526666057
    }, 
...