【问题标题】:Search, pagination and sorting not working in datatable搜索、分页和排序在数据表中不起作用
【发布时间】:2018-05-07 21:28:33
【问题描述】:

目前,我正在处理我的数据表以显示数据库中的详细信息。我正在为数据库使用 php myadmin。但它只能显示细节而不是分页,排序和搜索不起作用。我已经遵循了其他一些教程,但它仍然不起作用。

<?php  
$conn = mysqli_connect("localhost", "root", "", "jiaen"); 
$sql = "SELECT * FROM stock LEFT OUTER JOIN category ON stock.categoryid=category.categoryid order by stockCode";

//Execute connection
$result = mysqli_query($conn,$sql); 
?>  
<!DOCTYPE html>  
<html>  
<head>  
   <title>Webslesson Tutorial | Datatables Jquery Plugin with Php MySql and Bootstrap</title>  
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>  
   <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />  
   <script src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>  
   <script src="https://cdn.datatables.net/1.10.12/js/dataTables.bootstrap.min.js"></script>            
   <link rel="stylesheet" href="https://cdn.datatables.net/1.10.12/css/dataTables.bootstrap.min.css" />  
   </script>
</head>  
<body>  
  <br /><br />  
  <div class="container">  
      <h3 align="center">Datatables Jquery Plugin with Php MySql and Bootstrap</h3>  
      <br />  
      <div class="table-responsive">  
           <table id="stock" class="table table-striped table-bordered" > 
              <thead>  
                 <tr>  
                    <td>Stock Code</td>  
                    <td>Stock Name</td> 
                     <td>Stock Category</td>  
                    <td>Quantity</td>  
                    <td>Price (RM)</td>  
                    <td>Action</td>  
                 </tr>  
              </thead> 
              <tbody>  
              <?php  
              while($row = mysqli_fetch_array($result))  
              {  
                 echo '  

                 <tr>  
                    <td>'.$row["stockCode"].'</td>  
                    <td>'.$row["stockName"].'</td>  
                    <td>'.$row["categoryName"].'</td>  
                    <td>'.$row["quantity"].'</td>  
                    <td>'.$row["price"].'</td>
                    <td><a href = "add.php?id='.$row["stockCode"].'">Stock In</a></td> 
                    <td><a href = "rnd.php?id='.$row["stockCode"].'">R&D</a></td> 
                    <td><a href = "remarkstock.php?id='.$row["stockCode"].'">Remark Stock</a></td> 
                    <td><a href = "modify.php?id='.$row["stockCode"].'">Modify</a></td> 
                    <td><a href = "delete.php?id='.$row["stockCode"].'">Delete</a></td>   
                 </tr> 

                 ';  
              }  
              ?>  
              </tbody> 
           </table>  

      </div>  
  </div> 

  //Javascript part for datatable  
  <script>  
  $(document).ready(function() {
      $('#stock').DataTable();
  } );
  </script>
</body>  
</html>  

【问题讨论】:

  • 检查浏览器中的 javascript 控制台,您是否看到任何与数据表相关的错误(或任何其他可能影响的错误)?
  • 您应该添加有关您尝试过的内容和无效的内容、错误或任何其他有用信息的详细信息
  • 请添加有关您的问题的更多详细信息。现在我们不知道如何帮助你。您可能想查看这篇文章,了解如何在 StackOverflow stackoverflow.com/help/how-to-ask 上提出更好的问题
  • "php myadmin" 不是数据库。 MySQL是一个数据库。 phpMyAdmin 只是让您与 MySQL 数据库交互的众多用户界面程序之一。 MySQL Workbench 是另一个例子。 MySQL 命令行界面也是如此。只是注意到,因为我认为这有助于了解您正在使用的工具以及它们所扮演的角色,仅此而已

标签: php jquery mysqli datatable


【解决方案1】:

您的&lt;thead&gt; 包含一个&lt;tr&gt;,其中充满了&lt;td&gt; 标签,而不是&lt;th&gt; 标签。

它有 6 个标签,因此您的表格将有 6 列。

另一方面,您的&lt;tbody&gt; 在每个&lt;tr&gt; 标签内有10 个&lt;td&gt; 标签。

10 不适合 6。

【讨论】:

  • 谢谢,终于成功了,但是有什么方法可以合并行吗?
  • 要么添加更多列,要么将行组合在一起。如果您查看数据表网站,那里有用于添加按钮、复选框等的插件
  • 我已经阅读了该复选框,但我想知道它将如何连接到数据库?它使用数据表数据库本身还是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-22
  • 1970-01-01
  • 2021-08-09
  • 2017-02-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多