【问题标题】:I add pagination in my data table but table records are repeating我在数据表中添加了分页,但表记录重复
【发布时间】:2019-12-01 12:28:47
【问题描述】:

在我的分页代码中,从表中获取数据,它显示数据搜索和分页正在工作,但记录显示多次

在上图中,您可以看到记录的修复。

控制器:

       public function getData(){ 
           $postData = $this->input->post();
           $data = $this->dispatchModel->viewData($postData);
           echo json_encode($data);
  }

型号:

function viewData($postData=null){
     $response = array();
     ## Read value
     $draw            = $postData['draw'];
     $start           = $postData['start'];
     $rowperpage      = $postData['length']; // Rows display per page
     $columnIndex     = $postData['order'][0]['column']; // Column index
     $columnName      = $postData['columns'][$columnIndex]['data']; // Column name
     $columnSortOrder = $postData['order'][0]['dir']; // asc or desc
     $searchValue     = $postData['search']['value']; // Search value

     ## Search 
     $searchQuery = "";
     if($searchValue != ''){

        $searchQuery = " (b.disp_ch_driver like'%".$searchValue."%') ";
     }

     ## Total number of records without filtering
     $this->db->select('count(*) as allcount');
     $records = $this->db->get('dispatch_challan')->result();
     $totalRecords = $records[0]->allcount;

     ## Total number of record with filtering
     $this->db->select('count(*) as allcount');
     if($searchValue != '')
        $this->db->where($searchQuery);
     $records = $this->db->get('dispatch_challan b')->result();
     $totalRecordwithFilter = $records[0]->allcount;

     ## Fetch records
     $this->db->select('vn.vehicle_no as vehicle,bn.branch_name as from_branch_name,bn1.branch_name as to_branch_name,b.*,vn.*,bn.*,bn1.*');
             $this->db->from('dispatch_challan b');
             $this->db->join('vehicle vn', 'b.disp_ch_lorryno=vn.vehicle_id','left');
             $this->db->join('branch  bn', 'b.disp_ch_from=bn.branch_id','left');
             $this->db->join('branch  bn1','b.disp_ch_to=bn1.branch_id','left');

             $this->db->where('b.status','active');

     if($searchValue != '')
     $this->db->where($searchQuery);
     $this->db->order_by($columnName, $columnSortOrder);
     $this->db->limit($rowperpage, $start);
     $records = $this->db->get('dispatch_challan')->result();

     $data = array();
     foreach($records as $record ){
        $data[] = array( 
           "disp_ch_no"          =>$record->disp_ch_no,
           "disp_ch_date"        =>$record->disp_ch_date,
           "from_branch_name"    =>$record->from_branch_name,
           "to_branch_name"      =>$record->to_branch_name,
           "vehicle"             =>$record->vehicle,
           "disp_ch_pan"         =>$record->disp_ch_pan,
           "disp_ch_driver"      =>$record->disp_ch_driver,
           "disp_ch_owner"       =>$record->disp_ch_owner,
           "disp_ch_remark"      =>$record->disp_ch_remark
        ); 
     }
     ## Response
     $response = array(
        "draw" => intval($draw),
        "iTotalRecords" => $totalRecordwithFilter,
        "iTotalDisplayRecords" => $totalRecords,
        "aaData" => $data
     );
     return $response; 
   }

在上述模型中,分页代码可以正常工作,但记录会显示多次。 在我的数据库中,我只有 5 条记录。

【问题讨论】:

标签: php mysql sql codeigniter datatable


【解决方案1】:

问题可能是数据库查询不在表分页中,因为连接。尝试使用 postman 运行模型或 api 并观察结果是否重复。

【讨论】:

    猜你喜欢
    • 2021-05-12
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-19
    • 2015-05-26
    相关资源
    最近更新 更多