2013-09-03 19 views
6

Wie können große Daten in Datenbanken in jquery-Datatables geladen werden?jQuery DataTables laden große Daten

 $(document).ready(function(){ 
      $('#datatables').dataTable({ 
       "sPaginationType":"full_numbers", 
       "aaSorting": [[0, 'asc'], [1, 'desc']], 
       "sScrollY": "200px", 
       "bJQueryUI":true 
      }); 
     }) 

Gesamtdaten auf xnod_kode Tabelle> 10000 Datensätze ???

   <?php 

       $result = mysql_query("SELECT * FROM xnod_kode limit 10"); 
       $no = 1; 
       while ($row = mysql_fetch_array($result)) { 
        ?> 
        <tr> 
         <td><?php echo $no; ?></td> 
         <td><?php echo $row['kodepos']?></td> 
         <td><?php echo $row['kelurahan']?></td> 
         <td><?php echo $row['kecamatan']?></td> 
        </tr> 
        <?php 
        $no++; 
       } 
       ?> 

Antwort

2

Im Allgemeinen behandelt Tables sehr große Datenmengen am besten durch Paginieren und Abrufen von Daten über AJAX: http://datatables.net/examples/data_sources.

Wenn Ihre Daten variieren und> 100.000 Datensätze eher eine Ausreißerbedingung sind, sollten Sie das DataTables-Scroller-Plugin verwenden: http://datatables.net/extras/scroller/. Dies schafft eine weit bessere Benutzererfahrung und kann Zehntausende von Zeilen unter den richtigen Bedingungen handhaben. Um eine optimale Leistung zu erzielen, möchten Sie wahrscheinlich Ihre Standardsortierung aus dem Skript entfernen und in Ihrem PHP platzieren.

0

Am besten verwenden Sie Ajax, um Daten zu laden.

Ladedaten Stück für Stück

1

Hier ist Javascript-Code unter Ready-Funktion

$('#myDatatable').dataTable({ 
    sAjaxSource : 'jsonfiledemo.txt' 
}); 

ist hier HTML-Tabelle

<table id="myDatatable"> 
<thead> 
    <tr> 
     <th>data heading 1</th> 
     <th>data heading 2</th> 
     <th>data heading 3</th> 
    </tr> 
</thead> 
<tbody> 
</tbody> 

jsonfiledemo.txt jsone Datei

{ 
     "sEcho": 0, 
     "iTotalRecords": "34635", 
     "iTotalDisplayRecords": "34635", 
     "aaData": [ 
      [ 
       "title1", 
       "another handling...", 
       "Authored"     
      ], 
      [ 
       "new title", 
       "Cookies are used to track valid session on internet websites. another...", 
       "Authored", 
       "-" 
      ] 
    ] 
} 
0

Ein Weg ist zu Convert php array to JSON aller Aufzeichnungen und geben Sie es an JS array. Analysieren Sie dann JSON und rendern Sie es als Tabelle.

Aber der beste Weg ist, ein Limit der Daten beim Laden der Seite zu laden. und paging (Using AJAX) entweder mit Seitenzahl Links oder am Ende der Tabelle scrollen.