Я создаю таблицу, читая данные из моей базы данных, и она отображается правильно, но когда я хочу добавить плагин DataTables, он не работает.
Вот что я попробовал:
<?php
include_once 'classes/baza.class.php';
include_once 'classes/prijava_odjava.class.php';
$naziv = "Ispis";
include '_header.php'
?>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="http://datatables.net/download/build/nightly/jquery.dataTables.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<link href="http://datatables.net/download/build/nightly/jquery.dataTables.css" rel="stylesheet" type="text/css"><nav class="large-6 row">
<table id='tablica'>
<?php
$baza = new Baza();
$upit = "SELECT * FROM user";
$rezultat = $baza->selectDB($upit);//echo "";
echo "<tr><th>ID</th><th>Korisničko ime</th><th>Lozinka</th><th>Email</th><th>Last update</th><th>Aktivacijski kod</th><th>Aktiviran</th></tr>";
while ($row = mysqli_fetch_assoc($rezultat)) {
echo "<tr><td>" . $row['id_user']
. "</td><td> " . $row['username']
. "</td><td> " . $row["password"]
. "</td><td> " . $row["email"]
. "</td><td> " . $row['last_update']
. "</td><td> " . $row['aktivacijski_kod']
. "</td><td> " . $row['aktiviran']
. "</td><td></td></tr>";
}
//echo ""; //Close the table in HTML
?>
</table>
</nav>
<script src="js/vendor/jquery.js"></script>
<script src="js/foundation.min.js"></script>
<script>
$(document).foundation();
$(document).ready(function () {
$("#tablica").DataTable({
"bSort": true,
"bPaginate": true,
"bFilter": true
});
});
</script>
<?php include '_footer.php'; ?>
Этот код все еще показывает данные из базы данных, но он не использует плагин DataTable. Как будто его даже там нет.
РЕДАКТИРОВАТЬ:
Добавил thead и tbody, но у меня та же проблема.
echo "<thead><tr><th>ID</th><th>Korisničko ime</th><th>Lozinka</th><th>Email</th><th>Last update</th><th>Aktivacijski kod</th><th>Aktiviran</th></tr></thead>";
echo "<tbody>";
while ($row = mysqli_fetch_assoc($rezultat)) {
echo "<tr><td>" . $row['id_user']
. "</td><td> " . $row['username']
. "</td><td> " . $row["password"]
. "</td><td> " . $row["email"]
. "</td><td> " . $row['last_update']
. "</td><td> " . $row['aktivacijski_kod']
. "</td><td> " . $row['aktiviran']
. "</td></tr>";
}
echo "</tbody>";
В соответствии с https://datatables.net/manual/installation
Чтобы DataTables могли расширять таблицу HTML, таблица должна быть
допустимый, хорошо отформатированный HTML, с заголовком (thead) и телом (tbody).
Также можно использовать дополнительный нижний колонтитул (tfoot).
Вы должны обновить свой HTML с <thead>
а также <tbody>
Других решений пока нет …