【问题标题】:datatables pagination, search won't work数据表分页,搜索不起作用
【发布时间】:2015-10-09 09:52:21
【问题描述】:

我刚开始使用数据表,初始化表的说明似乎很简单。

我能够让表格出现并且所有数据都在里面,但是分页和搜索功能都不起作用。

请帮忙。

这是我的代码:

<?php
Include 'DBFunctions.php';
?>

<html>
    <head>
        <!-- DataTables CSS -->
    <link rel="stylesheet" type="text/css" href="DataTables-1.10.9/media/css/jquery.dataTables.css">

    <!-- DataTables -->
    <script type="text/javascript" charset="utf8" src="DataTables-1.10.9/media/js/jquery.dataTables.js"></script>


    </head>
    <body>
        <?php

                $queryData = "select c.*, o.officer_name from coa c, officer o WHERE o.persnum = c.importing_officer ORDER BY date_imported DESC";
                $resultData = mysqli_query($link, $queryData) or die(mysqli_error($link));
                ?>
                <h1>View All COAs</h1><br>
                <table id="myTable" class="display">
                    <thead>
                        <tr>
                        <th>PO Number: </th>
                        <th>Chemical Name: </th>
                        <th>COA Date: </th>
                        <th>Quantity: </th>
                        <th>Plant Name: </th>
                        <th>Parameter Results: </th>
                        <th>Importing Officer: </th>
                        <th>COA Attempt: </th>
                        <th>Date Imported: </th>
                        <th>Pass/Fail: </th>
                        </tr>
                    </thead>
                    <?php
                    while ($row = mysqli_fetch_array($resultData)) {

                    ?>
                    <tbody>
                    <tr>
                        <td><?php echo $row['po_number']?></td>
                        <td><?php echo $row['chemical_name']?></td>
                        <td><?php echo $row['date_coa']?></td>
                        <td><?php echo $row['quantity']?></td>
                        <td><?php echo $row['plant_name']?></td>
                        <td><?php echo $row['parameters_results']?></td>
                        <td><?php echo $row['officer_name']?></td>
                        <td><?php echo $row['coa_attempt']?></td>
                        <td><?php echo $row['date_imported']?></td>
                        <td><?php echo $row['pass_or_fail']?></td>
                    </tr>
                    </tbody>
                    <?php } ?>

                </table>

                <script>
                $(document).ready( function () {
                    $('#myTable').DataTable({
                    });
                } );
                </script>

    </body>

</html>

【问题讨论】:

  • 您的代码运行良好,请参阅jsfiddle.net/fqxyg2zy。很可能指向 JS 文件 jquery.dataTables.js 的链接不正确。也将&lt;tbody&gt; 排除在循环之外。
  • @Gyrocode.com 谢谢!将 排除在循环之外是可行的

标签: php sql search pagination datatables


【解决方案1】:

&lt;tbody&gt;while 循环中取出,使其看起来像:

<tbody>
<?php
while ($row = mysqli_fetch_array($resultData)) {
?>
   <tr>
      <td><?php echo $row['po_number']?></td>
      <td><?php echo $row['chemical_name']?></td>
      <td><?php echo $row['date_coa']?></td>
      <td><?php echo $row['quantity']?></td>
      <td><?php echo $row['plant_name']?></td>
      <td><?php echo $row['parameters_results']?></td>
      <td><?php echo $row['officer_name']?></td>
      <td><?php echo $row['coa_attempt']?></td>
      <td><?php echo $row['date_imported']?></td>
      <td><?php echo $row['pass_or_fail']?></td>
   </tr>
<?php } ?>
</tbody>

【讨论】:

    【解决方案2】:

    您必须启用数据表提供的各种选项,以进行搜索和分页,您需要这样做。 您应该查看documentation 以了解其他可用选项

    $(document).ready( function () {
                 $('#myTable').DataTable({
                  "paging": true,
                 "searching": true,
              });
           } );
    

    【讨论】:

    • 不对,这些选项默认开启,不需要显式开启。
    猜你喜欢
    • 2019-11-13
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多