Uyarı
Bazı HTTP sunucuları (Apache gibi) geriçağırım işlevini çağırırken betiğin çalışma dizinini değiştirir. Geriçağırım işlevinde chdir(dirname($_SERVER['SCRIPT_FILENAME'])) gibi bir çağrıyla betiğin bulunduğu dizine dönebilirsiniz.
diyor bu. böyle 10 saniyede bir f5e basan ama sayfayı yenilemeyen basit bir kod yok mu ya?
sen callback fonksiyonu çağıracak mısın? o uyarı callback belirlersen geçerli
stackoverflow.com
callback kullanmadan sayfayı yenileyebiliyorsak kullanmam hocam.
attığım örneğe bak 2. cevaptaki
<?php
Header("Refresh: 5;");
?>
şunla sayfayı yeniliyorum 5 saniyede bir ama tüm tablo gidip tekrar geliyor. anlık oluyor ama dikkat çekiyor. sadece veriyi yenileyebiliyor muyum ben? veri şuraya geliyo, $veri[1][0] veya $veri
edit: veri gidip gelmesin yani rakam direk değişsin diyorum
abi ne yapmaya çalışıyon tam net anlatırsan düzgün bi çözüm yolu buluruz. senin elinde 10 bin tane veri var, 10'ar 10'ar rastgele mi çekiyorsun bunları. 10'tane çektin sonraki 10'tane bunun devamı mı yoksa yeni veriler mi, önceki silinip yeni 10 mu alıyorsun?
aradığın kelime websockets
al
socketo.me
görebileceğin gibi dökümantasyonu yok, hoş olsa da farketmez, bir kamyon performans problemi var.
geçende sana o yüzden bu işlerle uğraşacaksan direk node.js'e başla demiştim.
biraz daha çirkin ama hızlı bir çözüm istersen cevap jQuery. anahtar kelime long polling.
elinde 10bin SABİT kayıt var. bunu 10 10 olacak şekilde bölmek için kaç sayfa lazım? 1000. Sayfa yüklendiği gibi birinci sayfayı yüklersin, her x saniyede bir de setInterval ile devamını çekersin (bir döngü içine koyarsın) ajax ile, sayfa yenilenmez böylece, mevcut sayfaya eklenir kayıtlar.
api.jquery.com
veriler sabitse sorun yok ama değilse bu çok çirkin bir çözüm çünkü bir akış sayfayı tasarlıyorsan (devamlı yeni veriler gösterilecekse) veritabanını her x saniyede bir sorgulaman lazım. bu ekşisözlük gibi bir sitede sorun olmazken (herkes aynı şeyi görüyor nasılsa) kişiye özel içeriğin sunulduğu bir yerde çılgın bir performans problemi yaratır. o yüzden mecbur websockets kullanacaksın, long polling ile olmaz.
hayır 10.000 veri olacak ama şu an 10 tane var. hepsi yenilenecek. yani yapım aşamasında şu an temeli atıyorum. onu demek istedim. silinip geri falan gelmeyecek sayfa yenilenmeden değer yenilenecek sayfa gidip gelmeyecek aynı kalacak ve sayfa yenilendiğini hissettirmeyecek anlatabiliyor muyum :D bak bu kodla 5 saniyede bir yenilendiğini görüyorum ben bunun. değer gidip gelmeyecek güncellenecek direk değişecek.
aradığın şey long polling, ister socket kullanarak yap ister jquery ister node ile. her türlü javascript kullanıcaksın. php server taraflı scripting dilidir, tarayıcıya ancak javascript ile müdahale edersin. googlea php long polling yazarsan ufak tefek basit örnekler var.
tamam sağolun kurcalayayım bunları
hayirsiz abi
10 10 şekilde bölmicem abi hepsi aynı bi sayfada 10.000 farklı yerden veri gelecek (bunlar sadece görüntülenecek bir işlem yapılmayacak). + veritabanı yok. yani var ama bu yaptığım web clientın alt yapısını oluşturmuyor. şimdi yaptığım şey şu: bizim scadanın web clientında veriler karışık olarak duruyor. ben sadece scadanın web clientından verileri alıp düzenli şekilde yeni bir tabloya atıyorum. bunları kolay okumak için verileri parçaladım ben önce. sonra her bir <td>ye bu verileri sırayla çektim. 10-15 örnek oluşturdum. istediğim şey sayfayı yenilemeden sadece veriyi yenilemek. gidip gelmeyecek yani üzerine gelecek direk veri.
geç gelebildim bu duyuruya, şimdi tekrar okuyup bi cevap yazmaya çalışacağım.