lostyazilim
tr.link

Datatables Kullanımı Hk. Sorun

8 Mesajlar 2.467 Okunma
acebozum
tr.link

webkartali webkartali Web Developer Kullanıcı
  • Üyelik 20.11.2016
  • Yaş/Cinsiyet 40 / E
  • Meslek Web Developer
  • Konum Ankara
  • Ad Soyad A** A**
  • Mesajlar 188
  • Beğeniler 171 / 84
  • Ticaret 0, (%0)
Mrblar Arkadaşlar,
Uzun zamandır uğraşlarım sonuç vermedi , buraya konu açma gereği duydum. Yardımcı olacak kardeşlerime şimdiden çok teşekkür ederim.

Bu sorum datatables.net de bulunan tabloyu kullanan ve bilen kardeşlerimize..
Sorun detayları;



Bu örnek resimde sol alt köşede toplam kayıt sayısının 57 olduğunu görebilirsiniz.

Benim ise Veritabanımda 12.000 e yakın kayıt mevcut. Ben bu 12.000 veriyi bu tabloya çektiğimde sayfa da bulunan bu tablo çok geç yükleniyor. Buda benim için ciddi sorun haline geldi.

Yapım şu şekilde;
örnekde gördüğünüz tablo benim index.php sayfamda yer alıyor.


//tabloya sql sorgusu çekip, verileri while döngüsüne alarak ilgli taglarına verileri yazdırıyorum.


...

index.php sayfamın en üst kısmında ise script kodu yer alıyor, oda şu şekilde;
$(document).ready(function() {
$('#example').DataTable( {
"order": [[ 3, "desc" ]]
} );
} );


..

Sayfam açılır açılmaz bu tablonun hızlı bir şekilde açılmasını nasıl sağlayabilirim.

PHP, Mysqli kullanıyorum.

Yukarıda resmini vermiş olduğum yapıyı kullanan çok kişinin olduğunu düşünüyorum, bu tarz büyük veri çekerken sıkıntı yaşamamak adına ne yaptılar acaba..

Merak içinde cevap bekliyorum umarım, konu hakkında ehil kardeşlerimiz yardımcı olurlar.

Teşekkür ederim.
kozmo

kişi bu mesajı beğendi.

Ücretsiz Web Uygulamalar, Scriptler www.webkartali.com 'da..
elektronikssl
webimgo

kozmo kozmo WM Aracı Kullanıcı
  • Üyelik 30.04.2014
  • Yaş/Cinsiyet 37 / E
  • Meslek Satınalma Uzmanı
  • Konum Manisa
  • Ad Soyad S** B**
  • Mesajlar 106
  • Beğeniler 24 / 14
  • Ticaret 0, (%0)
Benim yaptığım mantıkla aynı şekilde ancak benim verilerim sorgu durumuna göre filtrelenip dökülüyor,gösterme kısmında da bende aynı şekilde sorunlar yaşayabilirim bu konu hakkında fikirleri olanları dinlemek isterim,
webkartali

kişi bu mesajı beğendi.

Nanoripper Nanoripper Hello World! Kullanıcı
  • Üyelik 25.10.2015
  • Yaş/Cinsiyet 30 / E
  • Meslek Computer Science
  • Konum İstanbul Anadolu
  • Ad Soyad Y** A**
  • Mesajlar 71
  • Beğeniler 1 / 19
  • Ticaret 0, (%0)
SQL sorgun hakkında detaylı bilgi verebilir misin? Tablonun sayfalara ayrılmasının sebebi zaten normal şartlarda tüm verilerin birden yüklenmesini engelleyip sistemi hızlandırmak. Eğer sen 12.000 veriyi her seferinde veritabanından çekerek tablo ve sayfayı daha sonradan oluşturuyorsan sayfalara bölmenin bir anlamı kalmaz ve sayfanın geç yüklenmesine sebep olur. Eğer sayfada yalnızca 10 satırlık veri gösterilecekse yalnızca bu 10 satırın çekilmesi gerekir. Eğer zaten böyle yapıyorsan kusura bakma, ben yanlış anlamışım durumu :)
 

 

Yeninesil44 Yeninesil44 Kullanıcı
  • Üyelik 28.02.2015
  • Yaş/Cinsiyet 34 / E
  • Meslek web programlama
  • Konum Malatya
  • Ad Soyad O** D**
  • Mesajlar 1033
  • Beğeniler 282 / 281
  • Ticaret 18, (%100)
dataTable cok ufak veriler için kullanılabilir belki ben 10-15 sayfalık şey için bile kullanmam.
PHP sayfalama araştırın kaç kayıt olduğunu öğrenip ona göre her sayfada 5 içerik göstericeksen 5e bölüp okadar buton göstericeksin. Her sayfa atlayışında misal 3. sayfadaysan LIMIT 3*5, toplamKayıt şeklinde sorgu yapmalısın.

uykusuzum bukadar anlatabildim yardımcı olmusumdur inş.
 

 

MultiAnaliz.com
wmaraci
wmaraci

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
Hocam o sayfada ajax kullanmak gerekiyor.

İlk yüklendiğinde meela ilk 20 kayıt göstersin diyelim. n. sayfaya geçtiğinde (n*20) - (n-1)*20 aralığını göstermesini sağlamalısın.

Ayrıca tüm kayıtları sayfaya dökersen tarayıcı kilitlenebilir.
 

 

www.ontedi.com
www.cizgi.site

kozmo kozmo WM Aracı Kullanıcı
  • Üyelik 30.04.2014
  • Yaş/Cinsiyet 37 / E
  • Meslek Satınalma Uzmanı
  • Konum Manisa
  • Ad Soyad S** B**
  • Mesajlar 106
  • Beğeniler 24 / 14
  • Ticaret 0, (%0)

ontedi adlı üyeden alıntı

Hocam o sayfada ajax kullanmak gerekiyor.

İlk yüklendiğinde meela ilk 20 kayıt göstersin diyelim. n. sayfaya geçtiğinde (n*20) - (n-1)*20 aralığını göstermesini sağlamalısın.

Ayrıca tüm kayıtları sayfaya dökersen tarayıcı kilitlenebilir.


örnek tarzı bişey varmı mantık olarak mantıklı gibi görünüyor ancak uygulamada nasıl yapılabilir,
 

 

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
https://datatables.net/examples/data_sources/server_side.html

Umarım işini görür.
 

 

www.ontedi.com
www.cizgi.site

werfection werfection WM Aracı Kullanıcı
  • Üyelik 01.12.2014
  • Yaş/Cinsiyet 27 / E
  • Meslek Web Master
  • Konum Bursa
  • Ad Soyad A** A**
  • Mesajlar 374
  • Beğeniler 69 / 83
  • Ticaret 18, (%100)
Çözmü kendi data table'mi yapmakla çözdüm :) Biraz zor oldu ama çözümü öyle önerebilirim. Bende 2000 kayıt sorgulatıyordum. Data tablede 2.sayfaya tıklayınca ajaxla 2. kayıtları çektiriyorum. Bu şekilde diğer arkadaşların da ilettiği gibi çözüm ajax ile manuel bir tablo yapmaktan geçiyor. @ontedi arkadaşımızın paylaştığı ServerSide özelliğini denemiştim fakat çalıştıramadım ondan dolayı onu da kullanamamıştım. Tavsiyelerim bu şekilde :)
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al