Данные начальной загрузки не сортируются и не ищут в таблице php

#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. Рад, что это было простое исправление.