【问题标题】:How to restrict data table to display 10 records at time instead of loading all the data once?如何限制数据表一次显示 10 条记录,而不是一次加载所有数据?
【发布时间】:2023-03-15 14:01:01
【问题描述】:

我已使用数据表从 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>

脚本是

<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>

【问题讨论】:

    标签: codeigniter datatables


    【解决方案1】:

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

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

    您可以根据自己的意愿进行更改。如果您不使用 pageLength。这将使用 10 作为数据表中的默认值

    【讨论】:

    • 是仅在初始加载时加载 6 条记录还是将加载所有数据?
    • 它将从数据库中加载所有数据。但是 6 条记录将是可见的,这将由 pageLength 控制。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-06-10
      • 1970-01-01
      • 1970-01-01
      • 2013-10-16
      • 2011-07-07
      • 2011-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多