• 02-01-2016, 21:02:40
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar Jquery Datatables konusunda bilgili arkadaşlara bir sorum olacak.
    Jquery Datatables eklentisi ile veritabanındaki verileri datatable'de listeliyorum burada sorun yok. Ama veritabanımdaki veriler çok fazla olduğu için listelenirken sayfada donma yapıyor.

    Datatables bu sorunu aşmak için Server-side processing eklentisi yapmış.
    Eklentinin istediği server_processing.php ve ssp.class.php dosyalarınıda sisteme dahil ettim. Bu iki dosya hatasız çalışıyor.

    Ama ne yaptımsa gelen verileri bir türlü tabloya yazdıramadım.
    Resmi sayfalarındaki kodları aşağıya yazıyorum. Bu kodları nasıl düzenlemem gerekiyor. Bilen bir arkadaş açıklarsa çok sevinirim.


    <table id="example" class="display" cellspacing="0" width="100%">
            <thead>
                <tr>
                    <th>First name</th>
                    <th>Last name</th>
                    <th>Position</th>
                    <th>Office</th>
                    <th>Start date</th>
                    <th>Salary</th>
                </tr>
            </thead>
            <tfoot>
                <tr>
                    <th>First name</th>
                    <th>Last name</th>
                    <th>Position</th>
                    <th>Office</th>
                    <th>Start date</th>
                    <th>Salary</th>
                </tr>
            </tfoot>
        </table>

    $(document).ready(function() {
        $('#example').DataTable( {
            "processing": true,
            "serverSide": true,
            "ajax": "../server_side/scripts/server_processing.php"
        } );
    } );

    {
      "draw": 1,
      "recordsTotal": 57,
      "recordsFiltered": 57,
      "data": [
        [
          "Airi",
          "Satou",
          "Accountant",
          "Tokyo",
          "28th Nov 08",
          "$162,700"
        ],
        [
          "Angelica",
          "Ramos",
          "Chief Executive Officer (CEO)",
          "London",
          "9th Oct 09",
          "$1,200,000"
        ],
        [
          "Ashton",
          "Cox",
          "Junior Technical Author",
          "San Francisco",
          "12th Jan 09",
          "$86,000"
        ],
        [
          "Bradley",
          "Greer",
          "Software Engineer",
          "London",
          "13th Oct 12",
          "$132,000"
        ],
        [
          "Brenden",
          "Wagner",
          "Software Engineer",
          "San Francisco",
          "7th Jun 11",
          "$206,850"
        ],
        [
          "Brielle",
          "Williamson",
          "Integration Specialist",
          "New York",
          "2nd Dec 12",
          "$372,000"
        ],
        [
          "Bruno",
          "Nash",
          "Software Engineer",
          "London",
          "3rd May 11",
          "$163,500"
        ],
        [
          "Caesar",
          "Vance",
          "Pre-Sales Support",
          "New York",
          "12th Dec 11",
          "$106,450"
        ],
        [
          "Cara",
          "Stevens",
          "Sales Assistant",
          "New York",
          "6th Dec 11",
          "$145,600"
        ],
        [
          "Cedric",
          "Kelly",
          "Senior Javascript Developer",
          "Edinburgh",
          "29th Mar 12",
          "$433,060"
        ]
      ]
    }
  • 02-01-2016, 23:13:10
    #2
    Merhaba,
    Kodlarınızı ya da canlı url'yi görmeden hatanızı tahmin etmek bihayli güç.


    rikato adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar Jquery Datatables konusunda bilgili arkadaşlara bir sorum olacak.
    Jquery Datatables eklentisi ile veritabanındaki verileri datatable'de listeliyorum burada sorun yok. Ama veritabanımdaki veriler çok fazla olduğu için listelenirken sayfada donma yapıyor.

    Datatables bu sorunu aşmak için Server-side processing eklentisi yapmış.
    Eklentinin istediği server_processing.php ve ssp.class.php dosyalarınıda sisteme dahil ettim. Bu iki dosya hatasız çalışıyor.

    Ama ne yaptımsa gelen verileri bir türlü tabloya yazdıramadım.
    Resmi sayfalarındaki kodları aşağıya yazıyorum. Bu kodları nasıl düzenlemem gerekiyor. Bilen bir arkadaş açıklarsa çok sevinirim.


    <table id="example" class="display" cellspacing="0" width="100%">
            <thead>
                <tr>
                    <th>First name</th>
                    <th>Last name</th>
                    <th>Position</th>
                    <th>Office</th>
                    <th>Start date</th>
                    <th>Salary</th>
                </tr>
            </thead>
            <tfoot>
                <tr>
                    <th>First name</th>
                    <th>Last name</th>
                    <th>Position</th>
                    <th>Office</th>
                    <th>Start date</th>
                    <th>Salary</th>
                </tr>
            </tfoot>
        </table>

    $(document).ready(function() {
        $('#example').DataTable( {
            "processing": true,
            "serverSide": true,
            "ajax": "../server_side/scripts/server_processing.php"
        } );
    } );

    {
      "draw": 1,
      "recordsTotal": 57,
      "recordsFiltered": 57,
      "data": [
        [
          "Airi",
          "Satou",
          "Accountant",
          "Tokyo",
          "28th Nov 08",
          "$162,700"
        ],
        [
          "Angelica",
          "Ramos",
          "Chief Executive Officer (CEO)",
          "London",
          "9th Oct 09",
          "$1,200,000"
        ],
        [
          "Ashton",
          "Cox",
          "Junior Technical Author",
          "San Francisco",
          "12th Jan 09",
          "$86,000"
        ],
        [
          "Bradley",
          "Greer",
          "Software Engineer",
          "London",
          "13th Oct 12",
          "$132,000"
        ],
        [
          "Brenden",
          "Wagner",
          "Software Engineer",
          "San Francisco",
          "7th Jun 11",
          "$206,850"
        ],
        [
          "Brielle",
          "Williamson",
          "Integration Specialist",
          "New York",
          "2nd Dec 12",
          "$372,000"
        ],
        [
          "Bruno",
          "Nash",
          "Software Engineer",
          "London",
          "3rd May 11",
          "$163,500"
        ],
        [
          "Caesar",
          "Vance",
          "Pre-Sales Support",
          "New York",
          "12th Dec 11",
          "$106,450"
        ],
        [
          "Cara",
          "Stevens",
          "Sales Assistant",
          "New York",
          "6th Dec 11",
          "$145,600"
        ],
        [
          "Cedric",
          "Kelly",
          "Senior Javascript Developer",
          "Edinburgh",
          "29th Mar 12",
          "$433,060"
        ]
      ]
    }
  • 02-01-2016, 23:54:13
    #3
    Kullandığım kodlar eklentinin kendi verdiği kodlar hocam.
    Aşağıdaki kod sanırım ajax veya json ile (server_processing.php veritabanındaki tablodan verileri çeken dosya) bu php dosyasından aldığı verileri tabloya aktarıyor.
    Ama veriler tabloya düşmüyor. Tabloda sadece "Processing..." bu yazı çıkıyor.

    $(document).ready(function() {
        $('#demo-dtable-01').DataTable( {
            "processing": true,
            "serverSide": true,
            "ajax": "server_processing.php"
        } );
    } );
  • 03-01-2016, 00:11:38
    #4
    Örnekteki kodları kullandığınızı tahmin edebiliyorum. Ama bir yerde bir hata yapıyorsunuz ki çalışmıyor. Ajax ile gidilen sayfadan muhtemelen uygun formatta çıktılamıyorsunuz.

    Bu şekilde hatanızın bulunabileceğini sanmıyorum. Ama uzmanlar baksın belki biri çözer mevzuyu.

    rikato adlı üyeden alıntı: mesajı görüntüle
    Kullandığım kodlar eklentinin kendi verdiği kodlar hocam.
    Aşağıdaki kod sanırım ajax veya json ile (server_processing.php veritabanındaki tablodan verileri çeken dosya) bu php dosyasından aldığı verileri tabloya aktarıyor.
    Ama veriler tabloya düşmüyor. Tabloda sadece "Processing..." bu yazı çıkıyor.

    $(document).ready(function() {
        $('#demo-dtable-01').DataTable( {
            "processing": true,
            "serverSide": true,
            "ajax": "server_processing.php"
        } );
    } );
  • 03-01-2016, 03:46:53
    #5
    @rikato; chrome üzerinden sağ tuş incele yapıp sayfayı yenileyin, oradaki console kısmına herhangi bir hata kaydı düşüyor mu ?

    Eğer düşmüyorsa birde network kısmına gelin, orada server_processing.php bu dosyanın ajax ile çekildiğini göreceksiniz, orada status 200 OK mi geliyor ve veri geliyor mu bunları kontrol etmenizi öneririm.
  • 03-01-2016, 17:48:42
    #6
    $(document).ready(function() {
        $('#demo-dtable-01').DataTable( {
            "processing": true,
            "serverSide": true,
            "ajax": "server_processing.php",
            "deferLoading": 57
        } );
    } );
    Son parametreye "deferLoading": 57 değerini verince veriler tabloda göründü. Ama veriler üzerinde link verme vs. gibi bir işlem yapılamıyor sanırım. Sadece verileri tabloda listeleme gibi yapmış olabilirler. Çünkü server_processing.php den aldığı verileri ajax ile tablo içine kendisi yazdırıyor. Dışarıdan müdahale yok gibi.

    Şuan Server-side processing eklentisi olmadan düz şekilde kullanıyorum. Düz şekilde kullanınca tüm verileri veritabanından indirip jquery ile sonradan sayfalıyor. Buda sayfa yükleninceye kadar donmaya sebeb oluyor.