Codeigniter Mysql Ajax分页排序和搜索

阿什克

我必须做一个代码点火器操作。但是现在我想添加分页搜索并对其进行排序。我使用了很多教程来做到这一点。但是我听不懂。对于任何知道的人,请帮助我做到这一点。谢谢你。

控制器

class User_controller extends CI_Controller {

    public function __construct() {
        parent::__construct();
        $this->load->model('user_model');
        $this->load->library('form_validation');
    }

        // load user_list view
        public function index()
    {   
        $this->load->view('admin_include/header');
        $this->load->view('admin_pages/user_list');
    }

        // show all the users in view 
        public function fillgrid(){
            $this->user_model->fillgrid();
        }

        function fetch_record(){
             $this->user_model->fetch_record();
        }

        // validate and insert new user data 
        public function create(){
            $this->form_validation->set_rules('firstname', 'First Name', 'required');
            $this->form_validation->set_rules('lastname', 'Last Name', 'required');
            $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
            $this->form_validation->set_rules('contact_no', 'Contact Number', 'required|numeric|max_length[10]|min_length[10]');
            if ($this->form_validation->run() == FALSE){
               echo'<div class="alert alert-danger">'.validation_errors().'</div>';
               exit;
            }
            else{
                $this->user_model->create();
            }
        }

        // edit user
        public function edit(){
            $id =  $this->uri->segment(3);
            $this->db->where('id',$id);
            $data['query'] = $this->db->get('user');
            $data['id'] = $id;
            $this->load->view('admin_pages/user_edit', $data);
            }

        // update validation
        public function update(){
                $res['error']="";
                $res['success']="";
                $this->form_validation->set_rules('firstname', 'First Name', 'required');
                $this->form_validation->set_rules('lastname', 'Last Name', 'required');
                $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
                $this->form_validation->set_rules('contact_no', 'Contact Number', 'required|numeric|max_length[10]|min_length[10]');
                if ($this->form_validation->run() == FALSE){
                $res['error']='<div class="alert alert-danger">'.validation_errors().'</div>';    
                }           
            else{
                $data = array('firstname'=>  $this->input->post('firstname'),
                'lastname'=>  $this->input->post('lastname'),
                'email'=>$this->input->post('email'),
                'contact_no'=>$this->input->post('contact_no'), 
                'address'=>$this->input->post('address'));
                $this->db->where('id', $this->input->post('hidden'));
                $this->db->update('user', $data);
                $res['success'] = '<div class="alert alert-success">One record updated Successfully</div>';
            }
            header('Content-Type: application/json');
            echo json_encode($res);
            exit;
        }

        //delete user
        public function delete(){
            $id =  $this->input->POST('id');
            $this->db->where('id', $id);
            $this->db->delete('user');
            echo'<div class="alert alert-success">One record deleted Successfully</div>';
            exit;
        }

模型

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class User_model extends CI_Model {

    public function fillgrid(){

        $this->db->order_by("id", "desc"); 
        $data = $this->db->get('user');

        foreach ($data->result() as $row){
            $edit = base_url().'index.php/user_controller/edit/';
            $delete = base_url().'index.php/user_controller/delete/';
            echo "<tr>
                        <td>$row->firstname</td>
                        <td>$row->lastname</td>
                        <td>$row->email</td>
                        <td>$row->contact_no</td>
                        <td>$row->address</td>
                        <td>$row->created</td>
                        <td><a href='$edit' data-id='$row->id' class='btnedit' title='edit'><i class='glyphicon glyphicon-pencil' title='edit'></i></a>&nbsp;&nbsp;&nbsp;&nbsp;<a href='$delete' data-id='$row->id' class='btndelete' title='delete'><i class='glyphicon glyphicon-remove'></i></a></td>    
                    </tr>";

        }
        exit;
    }

    public function create(){
        $data = array('firstname'=>  $this->input->post('firstname'),
                'lastname'=>  $this->input->post('lastname'),
                'email'=>$this->input->post('email'),
                'contact_no'=>$this->input->post('contact_no'),
                'address'=>$this->input->post('address'),
                'created'=>date('d/m/y'));
            $this->db->insert('user', $data);
            echo'<div class="alert alert-success">One record inserted Successfully</div>';
            exit;
    }

   private function edit(){}

   private function delete(){}




   //2015.7.26
    //set table name to be used by all functions
 var $table = 'user';

 function fetch_record($limit, $start)
 {
  $this->db->limit($limit, $start);
  $query = $this->db->get($this->user);
  return ($query->num_rows() > 0)  ? $query->result() : FALSE;

 }

 function record_count()
 {
  return $this->db->count_all_results('user');
 }

   //2015.7.26

}

            //2015.7.26
            public function pagination(){
            $page_number = $this->input->post('page_number');
            $item_par_page = 2;
            $position = ($page_number*$item_par_page);
            $result_set = $this->db->query("SELECT * FROM user LIMIT ".$position.",".$item_par_page);
            $total_set =  $result_set->num_rows();
            $page =  $this->db->get('user') ;
            $total =  $page->num_rows();
            //break total recoed into pages
            $total = ceil($total/$item_par_page);
            if($total_set>0){
                $entries = null;
        // get data and store in a json array
                foreach($result_set->result() as $row){
                     $entries[] = $row;
                }
                $data = array(
                    'TotalRows' => $total,
                    'Rows' => $entries
                );              
                $this->output->set_content_type('application/json');
                echo json_encode(array($data));
            }
            exit;

       }

看法

 <div class="well">
                <form class="form-inline" role="form" id="frmadd" action="<?php echo base_url() ?>index.php/user_controller/create" method="POST">

                    <!--First Name-->
                    <div class="form-group">
                        <label class="sr-only" for="firstname">First Name</label>
                        <input type="text" name="firstname" class="form-control" id="firstname" placeholder="First name">
                    </div>
                    <!--/First Name-->

                    <!--Last Name-->
                    <div class="form-group">
                        <label class="sr-only" for="lastname">Last Name</label>
                        <input type="text" name="lastname" class="form-control" id="lastname" placeholder="Last Name">
                    </div>
                    <!--/Last Name-->

                    <!-- email-->
                    <div class="form-group">
                        <div class="input-group">
                            <div class="input-group-addon">@</div>
                            <input class="form-control" name="email" type="email" placeholder="Enter email">
                        </div>
                    </div>
                    <!-- email-->

                    <!--Contact-->
                    <div class="form-group">
                        <label class="sr-only" for="contact_no">Contact</label>
                        <input type="text" class="form-control" name="contact_no" id="contact_no" placeholder="contact number">
                    </div>
                    <!--/Contact-->

                    <!--Address-->
                    <div class="form-group">
                        <label class="sr-only" for="address">Address</label>
                        <input type="text" name="address" class="form-control" id="exampleInputPassword2" placeholder="Address">
                    </div>
                    <!--/Address-->

                    <!--submit-->
                    <input type="submit" class="btn btn-success" id="exampleInputPassword2" value="submit">
                    <!--/submit-->
                    </div>
                </form>
            </div>

            <table class="table">
                <thead><tr><th>First Name</th><th>Last Name</th><th>Email</th><th>Contact</th><th>Address</th><th>created</th><th>Action</th></tr></thead>
                <tbody id="fillgrid">

                </tbody>
                <tfoot></tfoot>
            </table>
    <!--        //2015.7.26-->
            <div class="row clear-fix">
            <div class="col-md-4 pull-right">
                <button  id="previous" class="btn btn-sm btn-primary">Previous</button>
                <lable>Page <lable id="page_number" name="page_number" ></lable> of <lable id="total_page" name="total_page"></lable></lable>
                <button  id="next" class="btn btn-sm btn-primary">Next</button>
            </div>
        </div>

        <div style="text-align: center">
    <!--//2015.7.26-->
        </div>
    </div>
    </div>



    <script>
    $(document).ready(function (){
        //fill data
        var btnedit='';
        var btndelete = '';
            fillgrid();
            // add data
            $("#frmadd").submit(function (e){
                e.preventDefault();
                $("#loader").show();
                var url = $(this).attr('action');
                var data = $(this).serialize();
                $.ajax({
                    url:url,
                    type:'POST',
                    data:data
                }).done(function (data){
                    $("#response").html(data);
                    $("#loader").hide();
                    fillgrid();
                });
            });



        function fillgrid(){
            $("#loader").show();
            $.ajax({
                url:'<?php echo base_url() ?>index.php/user_controller/fillgrid',
                type:'GET'
            }).done(function (data){
                $("#fillgrid").html(data);
                $("#loader").hide();
                btnedit = $("#fillgrid .btnedit");
                btndelete = $("#fillgrid .btndelete");
                var deleteurl = btndelete.attr('href');
                var editurl = btnedit.attr('href');
                //delete record
                btndelete.on('click', function (e){
                    e.preventDefault();
                    var deleteid = $(this).data('id');
                    if(confirm("are you sure")){
                        $("#loader").show();
                        $.ajax({
                        url:deleteurl,
                        type:'POST' ,
                        data:'id='+deleteid
                        }).done(function (data){
                        $("#response").html(data);
                        $("#loader").hide();
                        fillgrid();
                        });
                    }
                });

                //edit record
                btnedit.on('click', function (e){
                    e.preventDefault();
                    var editid = $(this).data('id');
                    $.colorbox({
                    href:"<?php echo base_url()?>index.php/user_controller/edit/"+editid,
                    top:50,
                    width:500,
                    onClosed:function() {fillgrid();}
                    });
                });

            });
        }

    });
    </script>
索拉夫·加尔格(Sorav garg)

我认为您必须检查您的数据库字段名称,它将肯定可以正常工作,您缺少一些数据库字段名称...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CodeIgniter分页,排序方式和搜索

来自分类Dev

Codeigniter:搜索和分页

来自分类Dev

使用CodeIgniter和MySQL按列名排序

来自分类Dev

CodeIgniter搜索输入和分页URL

来自分类Dev

MySQL查询性能和Codeigniter

来自分类Dev

使用Codeigniter和JQuery进行AJAX分页

来自分类Dev

如何在codeigniter中执行排序,搜索,分页

来自分类Dev

用codeigniter搜索多个mysql表

来自分类Dev

Codeigniter ajax分页搜索结果不起作用

来自分类Dev

angularjs和codeigniter分页

来自分类Dev

Codeigniter分页和.htaccess

来自分类Dev

Codeigniter中的MySQL查询和查询

来自分类Dev

mysql联合喜欢在codeigniter中使用多表搜索查询

来自分类Dev

Codeigniter 3 应用:通过Ajax更新MySQL表列及对应视图

来自分类Dev

使用get方法的Codeigniter分页搜索结果

来自分类Dev

mysql和codeigniter中逗号分隔的varchar的条件

来自分类Dev

使用PHP,CodeIgniter和MySQL显示查询的日期字段问题?

来自分类Dev

CodeIgniter和Google图表-基于mysql值的下拉列表

来自分类Dev

选择,计数以及使用Codeigniter和mysql的位置

来自分类Dev

使用Codeigniter和mysql获取行值作为列名

来自分类Dev

利用CodeIgniter和MySQL的PhoneGap应用程序?

来自分类Dev

将MSSQL和MySQL与CodeIgniter一起使用

来自分类Dev

如何使用Codeigniter和mysql动态制作Tree结构

来自分类Dev

Codeigniter-连接MySQL和SQL Server的致命错误

来自分类Dev

用多个WHERE和CASE查询PHP(CodeIgniter)MySQL

来自分类Dev

CodeIgniter和Google图表-基于mysql值的下拉列表

来自分类Dev

使用mysql和codeigniter检查总和(金额)的条件

来自分类Dev

从Codeigniter MySQL下载CSV

来自分类Dev

CodeIgniter“ MySQL已经消失”

Related 相关文章

热门标签

归档