如何限制数据表一次显示10条记录而不是一次加载所有数据?

时间:2018-04-01 13:23:15

标签: codeigniter datatables

我已经使用数据表在codeigniter中从数据库加载详细信息。 我有超过10000条记录。数据表加载所有数据,然后每页显示10条记录,这需要更多时间来加载所有数据。 无论如何,在点击分页链接后,下一条记录应该加载10条记录。

视图是



<table class="table table-striped table-hover" id="sample_2">
  <thead>
    <tr>
      <th style="display:none">No.</th>
      <th>Product Name</th>
      <th>Category</th>
      <th>Quantity</th>
      <th>Customer Price</th>
      <th>Reseller Price</th>
      <th>Image</th>


    </tr>
  </thead>
  <tbody>
    <?php $i=1;
												     foreach($product['list'] as $row=>$value){ ?>
    <tr>
      <td style="display:none">
        <?php echo $i; $i++ ?>
      </td>

      <td>
        <?php  echo $product['list'][$row]->item_name;?>
      </td>
      <td>
        <?php  echo $product['list'][$row]->cat_name ;?>
      </td>
      <td>
        <?php echo $product['list'][$row]->quantity;?>
      </td>
      <td>
        <?php echo $product['list'][$row]->price;?>
      </td>
      <td>
        <?php echo $product['list'][$row]->reseller;?>
      </td>
      <td><img src="<?php echo base_url()." assets/uploads/ ".$product['list'][$row]->image;?>" height="50px" width="50px" border="1px solid #FFF">

      </td>

    </tr>

    <?php } ?>
  </tbody>
</table>
&#13;
&#13;
&#13;

脚本

&#13;
&#13;
<script>
$(document).ready(function() {
    $('#sample_2').DataTable( {
        dom: 'Bfrtip',
       
        buttons: [
            'copy', 'csv', 'excel', 'pdf', 'print'
        ]

    } );
} );
/*$(document).ready(function() {
        var data = [];
        for ( var i=0 ; i<1000000000 ; i++ ) {
            data.push( [ i, i, i, i, i ] );
        }
         
        $('#sample_2').DataTable( {
        	dom: 'Bfrtip',
            buttons: ['copy', 'csv', 'excel', 'pdf', 'print']
           
        } );
    } );*/
</script>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

根据数据表机制,它显示每页10个数据作为默认值。您只需按照此代码即可更改它。

$('#sample_2').dataTable( {
  "pageLength": 6 //per page it will show 6 data. 
} );

您可以根据自己的意愿进行更改。如果您不使用 pageLength 。这将在数​​据表

中使用10作为默认值

答案 1 :(得分:1)

在您的SQL查询中使用此选项。它只会显示6条记录。

$this->db->limit(6);