Selam dostlar
Bu gün sizlere coincodex'in sağlamış olduğu json apiyi tanıtıp ona göre bir küçük proje geliştireceğiz.
Öncelikle apimiz
şeklinde kullanılır ve onun o anki fiyatı 24 saatlik değişimi gibi veriler burada json ile tutulur.
coin_adi yazan yere coinimizi yazıp url'i ziyaret edelim.


Gördüğünüz gibi veriler güzel bir şekilde listelendi.
Artık yapmamız gereken php satırlarımızı kodlamak.
ben bir coin listesi yapıp bu coinleri kolayca seçebilmemizi sağlayıp öyle ekrana yazdıracağım bu yüzden bir coinlist dizisi oluşturup içine istediğim coinleri ekliyorum.
PHP:
<?php
$coinlist=['btc','eth','enj'];
?>
buradaki dizimizden gelen verilerin hepsinin listelenip rahatca seçebilmemiz için html select options kullanarak içinde for döngümüzü yazıyoruz.
HTML:
<center><form method="GET">
<label for="crypto">Kripto Para Seçiniz:</label>
<select name="crypto">
<?php
for ($i=0; $i < count($coinlist); $i++) {
echo '<option value="'.$coinlist[$i].'">'.$coinlist[$i].'</option>';
}
?>
</select>
<button type="submit" name="kaydet">Seçimi Gönder</button>
</form>
</center>
coinlist in ilk elemanı 0. değerde olduğu için for döngüsü 0 dan başladı ve count ile dizideki eleman sayısını aldım ona kadar döndür dedim.
sonrasında option içine o döngüdeki coinlist elemanını yazdır diyip işlemi kapattım.
Artık girilen get methodlu verimizi alalım ve veri çekimine başlayalım.
PHP:
if (isset($_GET['crypto'])) {
$coin=$_GET['crypto'];
}else {
$coin="btc";
}
burada eğer bir veri girilmemişse bitcoinin verisini çekmesi için $coin değişkenini doldurdum.
PHP:
$url = 'https://coincodex.com/api/coincodex/get_coin/'.$coin;//indikatör
// cURL ile sayfayı indir
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($ch);
// Hata kontrolü
if(curl_errno($ch)) {
echo 'Hata:' . curl_error($ch);
}
curl_close($ch);
url imi gelen verime göre ayarlayıp curl ile veri çekimi işlemini başlattım ve ardından gelen verileri $html değişkenine aktardım. Yani sayfanın kodları şu anda $html'de.
PHP:
// Eğer içerik başarıyla alındıysa devam edelim
if ($html !== false) {
// JSON verisini diziye dönüştür
$data = json_decode($html, true);
İçerik geldiyse bunu jsondecode ile çözümleyip $data ya aktardım.
artık $data['last_price_usd'] yazdığımda json verisi olarak gelen last_price_usd nin değeri ekrana bastırılacak.
İlk olarak verileri kontrol edelim
PHP:
($data !== null && isset($data['last_price_usd']) && isset($data['price_change_1D_percent']) && isset($data['symbol']) && isset($data['coin_name'])) {
veriler doğru geldiyse verileri değişkene aktaralım
PHP:
$last_price_usd = $data['last_price_usd'];
$price_change_1D_percent = $data['price_change_1D_percent'];
$symbol = $data['symbol'];
$coin_name = $data['coin_name'];
Ve ekrana bu verileri bastıralım.
PHP:
// Tabloyu oluştur
echo '<style>';
echo 'table {';
echo ' width: 50%;';
echo ' border-collapse: collapse;';
echo ' margin: 20px auto;';
echo '}';
echo 'th, td {';
echo ' border: 1px solid #dddddd;';
echo ' text-align: center;';
echo ' padding: 8px;';
echo '}';
echo 'th {';
echo ' background-color: #f2f2f2;';
echo '}';
echo '</style>';
echo '<table>';
echo '<tr><th colspan="2" style="font-size: 24px;">Kripto Para Bilgileri</th></tr>';
echo '<tr><td><strong>Sembol:</strong></td><td>' . htmlspecialchars($symbol) . '</td></tr>';
echo '<tr><td><strong>İsim:</strong></td><td>' . htmlspecialchars($coin_name) . '</td></tr>';
echo '<tr><td><strong>Son Fiyat (USD):</strong></td><td>' . htmlspecialchars($last_price_usd) . '</td></tr>';
echo '<tr><td><strong>Değişim (24 Saat):</strong></td><td>% ' . htmlspecialchars($price_change_1D_percent) . '</td></tr>';
echo '</table>';
Veriler doğru gelmediyse veya içerik çekilemediyse else ile bunları belirtelim
PHP:
} else {
echo "Veri işlenirken bir hata oluştu.";
}
} else {
echo "Sayfa içeriği alınamadı.";
}
Sonuç



İndirme Linki
Virüs Total 0/67





