DataTables не загружаются с AJAX и MYSQL - PullRequest
0 голосов
/ 12 октября 2018

Почему-то я получаю неверный ответ JSON из этого кода.Цель состоит в том, чтобы отобразить данные SQL в таблице со всеми функциями в качестве поиска и отсортировать их по https://datatables.net/. Где может быть проблема?

GET.PHP

$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
$query ="SELECT * FROM users"; 
$result = $mysqli->query($query);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
      $results = ["sEcho" => 1,
          "iTotalRecords" => count($row),
          "iTotalDisplayRecords" => count($row),
          "aaData" => $row ];
        echo json_encode($results, JSON_PRETTY_PRINT);
    }
} else {
    echo "empty table";
}

$mysqli->close();

GET.PHP ОТВЕТ

{
    "sEcho": 1,
    "iTotalRecords": 2,
    "iTotalDisplayRecords": 2,
    "aaData": {
        "id": "26",
        "name": "test",
        "pass": "2"
    }
}

JS

$(document).ready(function() {
  $('#my-example').dataTable({
    "bProcessing": true,
    "sAjaxSource": "get.php",
    "aoColumns": [{ 
        mData: 'name'
      }, {
        mData: 'pass'
    }]
  });
});

HTML

<script type="text/javascript" language="javascript" src="//cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css">
<table id="my-example">
  <thead>
    <tr>
      <th>name</th>
      <th>pass</th>
    </tr>
  </thead>
</table>

1 Ответ

0 голосов
/ 12 октября 2018

Массив, который возвращает ваш PHP-код, должен выглядеть следующим образом, он должен иметь data в качестве возвращаемых данных и error в качестве возможных ошибок:

{
  "data": [
    [
      "Text going into the first column",
      "second column",
      "third column"
    ]
  ]
}

Так что в вашем случае ваш массив будет выглядеть так:

[
  "data": [
    [
      "1",
      count($data),
      count($data),
      $data
    ]
  ]
]

Также в цикле вам нужно получить каждую строку отдельно , используя $row['column'].

Контрольный пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...