[]

sayfayı yenilemeden güncellemek ama nasıl

php ile 10.000e yakın değişken veri çekilecek. temelini atıp 10-15 tane çektim. sistem güzel çalışıyor fakat güncellenmesi için sayfayı yenilemem gerekiyor. sayfayı yenilemeden nasıl güncelleriz bunu?




 
  • masa penisi  (03.03.16 19:33:17) 
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?
  • freetakilir  (03.03.16 19:45:34) 
sen callback fonksiyonu çağıracak mısın? o uyarı callback belirlersen geçerli

stackoverflow.com
  • masa penisi  (03.03.16 19:49:38) 
callback kullanmadan sayfayı yenileyebiliyorsak kullanmam hocam.


  • freetakilir  (03.03.16 20:13:06) 
attığım örneğe bak 2. cevaptaki


  • masa penisi  (03.03.16 20:13:43) 
<?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
  • freetakilir  (03.03.16 20:31:59 ~ 20:34:01) 
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?


  • masa penisi  (03.03.16 20:35:12) 
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.
  • hayirsiz  (03.03.16 20:36:25 ~ 20:46:27) 
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.


  • freetakilir  (03.03.16 20:38:14) 
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.


  • masa penisi  (03.03.16 20:43:23 ~ 20:44:06) 
tamam sağolun kurcalayayım bunları


  • freetakilir  (03.03.16 20:45:26) 
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.
  • freetakilir  (03.03.16 21:01:16) 
geç gelebildim bu duyuruya, şimdi tekrar okuyup bi cevap yazmaya çalışacağım.


  • hayirsiz  (03.03.16 23:51:01) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.