Datatable не отображается на странице просмотра - PullRequest
0 голосов
/ 11 ноября 2018

Я использую CodeIgniter, Datatable не работает.Я отображаю все записи в таблице данных.но это не отображается.Я получаю свою страницу просмотра следующим образом.

enter image description here

Я получаю записи из моей модели.Нет проблем с моделью.Дайте мне знать, если потребуется код модели.

Не могли бы вы помочь мне в этом вопросе?

просмотр

<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css">
    <table cellspacing="0" id="team_members_list">
      <thead>
        <tr>
          <th> Employee Name </th>
          <th> EMP ID</th>
          <th> Mobile No. </th>
          <th> Designation </th>
          <th> Role </th>
          <th> Status </th>
        </tr>
      </thead>
      <tbody>
      </tbody>
    </table>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>

js

$(document).ready(function() {
  var oTable = $('#team_members_list').DataTable({
    'responsive': true,
    //"processing": true,
    // "serverSide": true,
    "pageLength": 10,
    "ajax": {
      "url": baseUrl + "/Employee_control/team_members",
      "type": "POST"
    },
    "columns": [{
        "data": "name"
      },
      {
        "data": "employee_id"
      },
      {
        "data": "mobileno"
      },
      {
        "data": "emp_designation"
      },
      {
        "data": "emp_role_name"
      }
    ],
    'responsive': true
  });
});

Контроллер

public function team_members(){ 
    $draw = intval($this->input->get("draw"));
    $start = intval($this->input->get("start"));
    $length = intval($this->input->get("length"));
    $books = $this->Employee_model->getTotalList_of_TeamLeader();

    $data['draw'] = 1;
    $data['recordsTotal'] = count($books);
    $data['recordsFiltered'] = count($books);
//     // $n=1;
    foreach ($books as $key => $row) 
    {
        $arr_result = array(
              // "Sr.No" => $n,
                    "id" => base64_encode($this->encryption->encrypt($row->id)),
                    "name" => $row->firstname.' ' .$row->lastname,
                    "employee_id" => $row->employee_id,
                    "mobileno" => $row->mobileno,
                    "emp_designation" => $row->emp_designation,
                    "emp_role_name" => $row->emp_role_name,
                    "emp_teamLeader" => $row->team_leadername
        );

$data['data'] = $arr_result;
      }
    echo json_encode($data);
     exit;

     }

1 Ответ

0 голосов
/ 11 ноября 2018

Вы постоянно перезаписываете одну и ту же переменную в своем контроллере для создания данных, поэтому измените ее на [] для добавления данных ...

$arr_result = [];    // Initialise the array
foreach ($books as $key => $row) 
{
    $arr_result[] = array(
          // "Sr.No" => $n,
                "id" => base64_encode($this->encryption->encrypt($row->id)),
                "name" => $row->firstname.' ' .$row->lastname,
                "employee_id" => $row->employee_id,
                "mobileno" => $row->mobileno,
                "emp_designation" => $row->emp_designation,
                "emp_role_name" => $row->emp_role_name,
                "emp_teamLeader" => $row->team_leadername
    );

  }
 // Add to main data after loop has finished
 $data['data'] = $arr_result;
...