首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery数据表中的服务器端分页

jquery数据表中的服务器端分页
EN

Stack Overflow用户
提问于 2016-06-19 18:51:13
回答 1查看 1.1K关注 0票数 0

我正在显示数据。因为它包含超过1000行数据。我希望有一个服务器端分页,而不是jquery提供的。正如我已经注意到的,可数据加载所有1000个查询,并且只执行客户端分页。这是我的控制器

代码语言:javascript
复制
 function view_ftth_report()
{

    if ($this->data['permission_ftth_report'] == '1') {
    $this->load->model('staff_activity_model');
    $this->data['records'] = $this->staff_activity_model->view_ftth_report();

    $this->data['main_template'] = 'staff_activity/staff_activity_main';
    $this->data['inner_template'] = 'staff_activity/ftth/staff_activity_ftth_report_view';
    $this->data['inner_nav'] = 'staff_activity/staff_activity_nav';
    $this->load->view('common/common', $this->data);
        }
    else{
        $this->data['main_template'] = 'staff_activity/staff_activity_main';
        $this->data['inner_template'] = 'staff_activity/staff_activity_denied';
        $this->data['inner_nav'] = 'staff_activity/staff_activity_nav_denied';
        $this->load->view('common/common', $this->data);
    }
}

这是我的模型。

代码语言:javascript
复制
function view_ftth_report(){
    $sql = "SELECT * FROM ct_staff_activity_ftth ORDER BY date DESC limit 20  ";
    $data = array();
    $result = $this->db->query($sql);
    foreach($result->result_array() as $row)
    {
        $data[] = $row;
    }
    return $data;
}

这就是我的观点。我使用ajax调用记录。

代码语言:javascript
复制
<script type="text/javascript">

$(function() {
    $("#data_tbl").dataTable({
        "iDisplayLength": 50
    });

});
</script>
<div class="row">
<div class="col-md-12">
    <div class="box ">
        <div class="box-body">
            <div class="row">
                <div class="col-md-12">
                        <a href="<?php echo base_url();?>staff_activity/date_report_index"><button style="margin: 15px; padding: 10px; border-radius: 10px; border-collapse: collapse " class="btn btn-success btn-sm">Filter By Date</button></a>

                    <div class="col-md-12 table-responsive">
                        <table class="table table-striped table-responsive" id="data_tbl">
                            <h4>Recent Entries</h4>
                            <thead>
                            <tr>
                                <th>Sn.</th>
                                <th>Client's Name</th>
                                <th>Address</th>
                                <th>Fiber Length</th>
                                <th>Phone Number</th>
                                <th>Package</th>
                                <th>Result</th>
                                <th>Date</th>
                                <th>Team Name</th>
                                <th>Remarks</th>
                                <th>Edit</th>
                                <th>Delete</th>

                            </tr>
                            </thead>
                            <tbody id="result">
 <?php

                            $count = 0;

                            foreach($records as $rec){
                                $count = $count+1;

                                ?>
                                <tr>
                                    <td><?php echo $count; ?></td>
                                    <td><?php echo $rec['client_name']; ?></td>
                                    <td><?php echo $rec['address']; ?></td>
                                    <td><?php echo $rec['fiber_length']; ?></td>
                                    <td><?php echo $rec['phone_number']; ?></td>
                                    <td><?php echo $rec['package']; ?></td>
                                    <td><?php echo $rec['result']; ?></td>
                                    <td><?php echo $rec['date']; ?></td>
                                    <td><?php echo $rec['team_name']; ?></td>
                                    <td><?php echo $rec['remarks']; ?></td>
                                    <td><a href="<?php echo base_url(); ?>staff_activity/edit_ftth_report/<?php echo $rec['id']?>">Edit</a></td>
                                    <td><a href="javascript:void(0)" onclick="chk('<?php echo base_url(); ?>staff_activity/delete_ftth_report/<?php echo $rec['id']  ?>')">Delete</a></td>

                                </tr>

                                <?php

                            }

                            ?>
                            </tbody>

                        </table>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-27 08:40:37

我最近还在我的项目中集成了DataTable。实际上,在codeigniter中,有一些library可以用于DataTable。请查找以下一些有用的libraries

  1. 点燃-数据
  2. Codeigniter-DataTables

因此,您只需遵循readme中给出的指示。我正在为Ignited-Datatables提供示例,并将其集成到我的项目中。

CODEIGNITER

  1. 首先在您的DataTable.php文件夹中移动application\library
  2. controllerconstructor中加载 $this->load->library('Datatables');
  3. $this->datatables->select( pass the column which you want to display in table and manage order also respect to your table)
  4. $this->datatables->from('ct_staff_activity_ftth');在这里传递表名。

JAVASCRIPT

  1. 在视图文件中包括dataTable.min.js
  2. 将代码放到document ready阶段。 $('#data_tbl').dataTable( { processing: true, serverSide: true, ajax: { "url": "/index.php/DataTableExample/dataTable", "type": "POST" }, columns: [ { data: "s.s_name" }, {data : "c.c_name"}, {data : "c.c_zip"}, { data: "$.city_state_zip" } //refers to the expression in the "More Advanced DatatableModel Implementation" ], aaSorting: [ [0, 'desc'] // provide the default sorting column with order numer. ] });

希望它能帮到你。如果您需要进一步的帮助,请告诉我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37910677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档