我试图在其他PHP页面第二次使用数据表,但我在这个错误,
DataTables: Non-table node initialization (TBODY).
我做错了什么?我用我的第一个PHP页面尝试了这个代码,它工作得很好。
这是我的代码表
<table class="table table-striped table-hover ">
<div class="row">
<div class="col-lg-12">
<div class="page-header">
<h1 id="tables">Admin's Accounts</h1>
</div>
<button type="button" class="btn btn-danger" data-toggle="modal" data-target="#modal"><i class="zmdi zmdi-plus-circle zmdi-hc-2x"></i></button>
<table class="table table-striped table-hover ">
<thead>
<tr>
<th>#</th>
<th>Name</th>
<th>Contact</th>
<th>Email Address</th>
<th>Position</th>
<th>Option</th>
</tr>
</thead>
<tbody id="admin">
<?php
//set up mysql connection
mysql_connect("localhost", "root", "") or die(mysql_error());
//select database
mysql_select_db("brm_dbs") or die(mysql_error());
//select all records form tblmember table
$query = 'SELECT uid,name,contact,email,position FROM admin ORDER BY created_at DESC';
//execute the query using mysql_query
$result = mysql_query($query);
//then using while loop, it will display all the records inside the table
while ($row = mysql_fetch_array($result)) {
echo ' <tr> ';
echo ' <td> ';
echo $row['uid'];
echo ' <td> ';
echo $row['name'];
echo ' <td> ';
echo $row['contact'];
echo ' <td> ';
echo $row['email'];
echo ' <td> ';
echo $row['position'];
echo '<td>';
echo '<button type="button" class="btn btn-link" data-toggle="modal" data-target="#myModal'.$row['uid'].'"><i class="zmdi zmdi-plus-circle zmdi-hc-2x"></i></button>';
}
?>
</tbody>
</table>
</div>
</div>
</table>
我将这个用于JQUERY
<script src="https://cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.9/js/dataTables.bootstrap.min.js"></script>
<script>
$(document).ready(function() {
$('#admin').DataTable( {
"lengthMenu": [[5, 10, 25, -1], [5, 10, 25, "All"]]
});
} );
</script>
我得到错误:非表节点初始化由于在DOM中的另一个元素有相同的"ID"
<table id="allProducts" class="table table-striped table-bordered" style="width:100%">
和相同的id在导航菜单
<a class="dropdown-item" href="#" id="allProducts" ><i class="fa fa-star"></i> All Products</a>
由于这个相同的id重复,我得到了错误…:)继续编码,玩得开心
从文档来看,错误发生在这两种情况中的任何一种。
以下面的div和table
为例<div id="demo" class="display">
<table class="display">...</table>
</div>
如果你试图在#demo
上初始化datatable
$('#demo').dataTable()
您将得到一个错误,因为#demo
不是表元素。
如果你尝试在.display
上初始化
$('.display').dataTable();
你会得到一个错误,因为.display
是太模糊,这意味着有一个以上的元素具有该类,和数据表期望一个唯一的元素。
结论:
确保在正确的节点元素上初始化DT
确保DT元素的class/ID是唯一的
我编辑我的代码表,我有语法错误第6 但是7TD并且只删除了echo
中的最后一个TD,它现在工作良好。