警告:非表节点初始化(TBODY).PHP



我试图在其他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是太模糊,这意味着有一个以上的元素具有该类,和数据表期望一个唯一的元素。

结论:

  1. 确保在正确的节点元素上初始化DT

  2. 确保DT元素的class/ID是唯一的

我编辑我的代码表,我有语法错误第6 但是7TD并且只删除了echo中的最后一个TD,它现在工作良好。

最新更新