#php #mysql #twitter-bootstrap #datatable
#php #mysql #twitter-bootstrap #поддающийся обработке данными #datatable
Вопрос:
Я сайт, на котором есть одна страница контроллера для запуска запроса mysql. Он выводит результаты на страницу просмотра с именем m_analitica.php
, с include("header.php")
вверху и include("footer")
внизу.
код для m_analitica.php
:
<div>
<table class="table table-striped table-bordered table-hover" id="myTable">
<div><h2>Mapa Analítica</h2></div>
<thead>
<tr>
<th>Name</th>
<th>Tipo Documento</th>
<th>Número</th>
<th>Cliente</th>
<th>Obra</th>
<th>Designação</th>
<th>Agregado</th>
<th>Quantidade (ton)</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Name</th>
<th>Tipo Documento</th>
<th>Número</th>
<th>Cliente</th>
<th>Obra</th>
<th>Designação</th>
<th>Agregado</th>
<th>Quantidade (ton)</th>
</tr>
</tfoot>
<?php foreach ($positions as $position): ?>
<tbody>
<tr>
<td><?= $position["data"] ?></td>
<td><?= $position["tipo"] ?></td>
<td><?= $position["num"] ?></td>
<td><?= $position["cliente"] ?></td>
<td><?= $position["obra"] ?></td>
<td><?= $position["nome_obra"] ?></td>
<td><?= $position["agr"] ?></td>
<td><?= $position["ton"] ?></td>
</tr>
</tbody>
<?php endforeach ?>
</table>
В главу header.php
я включил следующие js-скрипты и CSS:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<link rel="stylesheet" href="../public/js/DataTables-1.10.12/media/css/dataTables.bootstrap.min.css" />
<link href="../public/css/bootstrap.min.css" rel="stylesheet"/>
<script src="../public/js/bootstrap.min.js"></script>
<script src="../public/js/DataTables-1.10.12/media/js/jquery.dataTables.min.js"></script>
<script src="../public/js/DataTables-1.10.12/media/js/dataTables.bootstrap.min.js"></script>
Затем перед закрытием элемента body в footer.php
я вставил скрипт:
<script type="text/javascript">
$('#myTable').dataTable();
</script>
Я правильно форматирую, за исключением того, что он не разделяет таблицу на страницы, а поиск и сортировка не работают, он ничего не делает, щелкая по ним.
Данные начальной загрузки не работают с php? Или с циклами foreach? Или у него там что-то не так с кодом.
Комментарии:
1. datatables.net/examples/data_sources/server_side.html Пожалуйста, следуйте этому.
2. Я уже пробовал это раньше.
Ответ №1:
Удалите <tbody>
теги из вашего цикла. Вы хотите только повторить <tr>
теги. Поместите <tbody>
теги за пределы цикла.
Комментарии:
1. Рад, что это было простое исправление.