lostyazilim
tr.link

[YARDIM] PHP Tabloya Anlık Veri Çekme

5 Mesajlar 1.535 Okunma
acebozum
tr.link

compost0x compost0x Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 26.05.2018
  • Yaş/Cinsiyet 30 / E
  • Meslek Öğrenci
  • Konum Muğla
  • Ad Soyad A** Y**
  • Mesajlar 99
  • Beğeniler 23 / 19
  • Ticaret 2, (%50)
Arkadaşlar merhaba,

Diyelim veritabanında 24 satır veri mevcut. Tablom açık bir şekilde duruyor. 25. satır eklendiği zaman sayfayı yenilemeden 25. satırı tabloya getirtmek istiyorum.

Şöyle bir ajax kodu buldum fakat işe yaramadı;

$( document ).ready(function() {
var table = $('#datatable').DataTable( {
"ajax": "data.php",
"bPaginate":true,
"bProcessing": true,
"pageLength": 8,
"columns": [
{ mData: 'kolon1' } ,
{ mData: 'kolon2' },
{ mData: 'kolon3' },
{ mData: 'kolon4' },
]
});
setInterval( function () {
table.ajax.reload(null, false);
}, 1000 );
});


Bunu yapabilmek için bilgilerinize ve kaynaklarınıza ihtiyacım var, yol gösterebilirseniz minettar kalırım.

Şimdiden teşekkür ederim.
 

 

elektronikssl
webimgo

0ebedi 0ebedi Kimlik Onayı Bekliyor Banlı Kullanıcı
  • Üyelik 17.08.2018
  • Yaş/Cinsiyet 27 / E
  • Meslek Öğrenci
  • Konum İstanbul Anadolu
  • Ad Soyad E** E**
  • Mesajlar 188
  • Beğeniler 49 / 44
  • Ticaret 0, (%0)
Ajax kullanımını iyice araştırırsan bulabilirsin...
 

 

ClkOfis ClkOfis http://www.clkofis.com Kullanıcı
  • Üyelik 03.10.2015
  • Yaş/Cinsiyet 29 / E
  • Meslek Yazılım ve Tasarım
  • Konum Bursa
  • Ad Soyad E** Ç**
  • Mesajlar 228
  • Beğeniler 43 / 61
  • Ticaret 11, (%91)
en basit mantıkla sayfa açıldığından javascript ile bir değişken oluştur ve satır sayısını kaydet.
sonra örn:5 sn de bir çalışan bir fonksion oluştur ve veri tabanı satır sayısını kontrol et eğer yeni satır sayısı sayfa açıldığındakinden fazla ise yine bir ajax ile fazlalık olan satırları alıp ekle.
TEMEL OLARAK EN BASİT BU ŞEKİLDE SANIRIM.


SANIRIM ŞÖYLE ;

var satir = 24;
function kontrol(){
$.ajax({
url: satirkontrol_URL,
type: 'POST',
success: function(e)
{
if(e>satir){
$.ajax({
url: satirlar_URL,
type: 'POST',
success: function(e)
{
$("#tablo").prepend(e);
},
data: {balsa: satir,bitir:e}
});
}
}
});
}

setInterval( function () {
kontrol();
}, 3000 );
 

 

SancarSaran SancarSaran WM Aracı Kullanıcı
  • Üyelik 14.01.2018
  • Yaş/Cinsiyet 52 / E
  • Meslek Programcı
  • Konum İzmir
  • Ad Soyad S** S**
  • Mesajlar 319
  • Beğeniler 4 / 111
  • Ticaret 0, (%0)
2 yolu var.

1-) önceki arkadaş belirtmiş. belli bir nirengi noktası tutarsın (mesela satır sayısı). Javascriptteki bir recursive setTimeout yöntemi ile belli sürede burayı kontrol edersin ajaxla fark ı satırın sonuna eklersın.

Ancak eğer bağlantı sayısı fazla ise, bir sürü adam sürekli kontrol edeceği için, kalabalık sunucularda eninde sonunda sıkıntı yaratır. 3 - 5 kişi ise kullanacak projelerde olan bunu kullanabilirsin.

2-) websocket kullanarak bu tabloyu kontrol eden bir daemon / bot yazarsın. bu bot hem tablonun durumunu tutar hemde bu tablonun güncellenmesini takip eden istemcileri tutar. Bir çeşit IRC kanal botu gibi düşün.

Veri güncellenmesi bu bot üstünden yapılır. Yani tablo ile bot muhattap olur senin tabloya veri yazan fonksiyonların api üstünden bot la muhattap olur. Tabloya değişiklik bilgisi gönderilir, bot önce tabloya veriyi yazar, hata yoksa kendisinde kayıtlı tüm kullanıcılara tablonun son durumunu gönderir, kullanıcılardaki js kodu ekranı günceller. Düzgün bir dil ile yaparsan bu modelde makinada port bittiğinde sorun çıkar.
 

 

wmaraci
wmaraci

XnCN XnCN Yazılımcı Kullanıcı
  • Üyelik 30.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılım
  • Konum Kocaeli
  • Ad Soyad A** H**
  • Mesajlar 447
  • Beğeniler 56 / 109
  • Ticaret 1, (%100)
hocam bu iş için firebase (veya muadili) bir veritabanı kullanmalısınız , frontend tarafında ise klasik js yerine vue.js kullanırsanız çok az bir uğraşla sonuca ulaşırsınız.
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al