Merhabalar,Bildiğiniz gibi divizyonumuz aktif şekilde etkinlikler düzenlemektedir. Bu etkinlikler forum üzerinden ve ayrıca websitemiz üzerinden duyurulmaktadır. Bu kapsamda havayollarımıza IVAO TR sitesindeki etkinlikleri kendi sitelerinde gösterecek bir api tasarlamış bulunmaktayım.
API'yi nasıl kullanabiliriz?API için herhangi bir başvuru yapmanıza gerek yoktur. API'ye
http://tr.ivao.aero/eventapi.php adresinden ulaşabilirsiniz. Size döndürülecek veri json formatında olacağından, mevcut servis sağlayıcınızın (hosting şirketinizin) json_decode fonksiyonunu çalıştırabileceğinizden emin olunuz. Gelecek veri aşağıdaki formattadır:
{ "Etkinlik Numarası" : { "TITLE" : "Etkinlik Başlığı", "DATE" : "Etkinlik Tarihi", "BODY" : "İçerik", "IMAGE" : "Etkinlik Resminin Linki", "LINK" : "Forum Başlığı Linki" }
Önemli Not!Sitenizde direkt olarak bu linki çalıştırmamanız gerektiğini, mümkün mertebe cronjob ile 30 dk, 1 saatlik aralıklarla veriyi çekerek kendi veritabanınıza işlemenizi öneririm.
Örnek kod:Aşağıdaki kod ile veriyi çekerek kendi veritabanınıza işleyebilirsiniz. Ardından sitenizde kendi veritabanınızda olan bilgilerle etkinliği görüntüleyebilirsiniz.
* Kod içindeki mysql() fonksiyonları, yeni nesil mysqli() ile değiştirilmiştir. Sisteminiz PHP 7 altında ve hala mysql() kullanıyorsa, lütfen uygun değişikliği yapınız.
<?php
$file = file_get_contents("https://tr.ivao.aero/eventapi.php"); // Veriyi çekiyoruz
$json = json_decode($file); // json decode ile çözümleme işlemi yapıyoruz
foreach ($json as $jarr){ // Herbir etkinlik için döngü yaratıyoruz
$res = mysqli_query($conn_link, "SELECT * FROM `ETKINLIK_TABLOSU` WHERE ETKINLIK_IDSI= ".$eventid); //Kendi veritabanımızda bu kayıt var mı?
// Kayıt yoksa yeni kayıt işleyecek, varsa mevcutu güncelleme yoluna gideceğiz.
if ( mysqli_num_rows($res) == 0 )
{
// $eventid , mysqli_real_escape_string($conn_link, $jarr->TITLE) , $jarr->DATE , mysqli_real_escape_string($conn_link, $jarr->BODY) , $jarr->IMAGE
// ve $jarr->LINK değişkenlerini veritabanına EKLEME (INSERT) sorgusu çalıştırıyoruz. İçerikte ve başlıkta
// sorguyu hataya sürükleyecek kesme işaretleri olabileceğinden dolayı mysqli_real_escape_string fonksiyonunu kullanınız.
mysqli_query($conn_link, $query);
} else {
// $eventid , mysqli_real_escape_string($conn_link, $jarr->TITLE) , $jarr->DATE , mysqli_real_escape_string($conn_link, $jarr->BODY) , $jarr->IMAGE
// ve $jarr->LINK değişkenlerini veritabanına GÜNCELLEME (UPDATE) sorgusu çalıştırıyoruz. İçerikte ve başlıkta
// sorguyu hataya sürükleyecek kesme işaretleri olabileceğinden dolayı mysqli_real_escape_string() fonksiyonunu kullanınız.
mysqli_query($conn_link, $query);
}
};
?>
IVAO TR Web Development Department
« Last Edit: October 30, 2018, 11:56:17 by ALP YENI »
Kemal Emre Oztiryaki
IVAO Supervisor
Development Operations Support
Webmaster - Turkey