首页 > 解决方案 > 引导表显示条目不显示单元格的确切数量

问题描述

用我的 PHP 编码知识,我花了大约 4 天的时间让 DataTable 显示客户选择的确切条目。下面是我从 Mysql 数据库获取数据的代码

<?php 
include("check.php"); 
include("config.php");

// Create connection
//$conn = new mysqli($servername, $username, $password, $dbname);

$sql = 'SELECT * from transaction';
if (mysqli_query($db, $sql)) {
    echo "";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($db);
}

$count=0;
$result = mysqli_query($db, $sql);

?>

这是我的 html 用于显示必须有分页的表格,客户可以选择他想看到多少单元格(例如:10、25、50、100)

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <meta name="description" content="">
        <meta name="author" content="">
        <title>მთავარი გვერდი</title>

        <link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet"><!-- Bootstrap core CSS-->

        <link href="vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"> <!-- Custom fonts for this template-->

        <link href="https://cdn.datatables.net/1.10.18/css/dataTables.bootstrap4.min.css" rel="stylesheet"><!-- Page level plugin CSS-->

        <link href="css/sb-admin.css" rel="stylesheet">
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <script src="https://cdn.datatables.net/1.10.18/js/jquery.dataTables.min.js"></script>
        <script src="https://cdn.datatables.net/1.10.18/js/dataTables.bootstrap4.min.js"></script>
    </head>

    <body class="fixed-nav sticky-footer bg-dark" id="page-top">
        <!-- Navigation-->
        <?php include("template/navigbar.php"); ?>

        <!-- Breadcrumbs-->
        <?php include("template/breadc.php"); ?>
        <!-- Icon Cards-->

        <!-- Example DataTables Card-->

        <div class="card mb-3">
            <div class="card-header">
                <i class="fa fa-table"></i> Data Table Example</div>
            <div class="card-body">
                <div class="table-responsive">
                <table class="table table-striped table-bordered" id="myTable" width="100%" cellspacing="0">
                    <thead>
                        <tr>
                        <th>ID</th>
                        <th>თქვენი ID</th>
                        <th>თარიღი</th>
                        <th>ობიექტი&lt;/th>
                        <th>ტერმინალი&lt;/th> 
                        <th>თანხა&lt;/th> 
                        <th>ჯამი</th> 
                        </tr>
                    </thead>
                    <?php
                    while ($row = mysqli_fetch_assoc($result))
                    {
                        $count =$count + $row['amount']; 
                        echo '
                            <tbody>
                                <tr>
                                <td>'.$row["trID"].'</td>
                                <td>'.$row['userID'].'</td>
                                <td>'.$row['trDate'].'</td>
                                <td>'.$row['obName'].'</td>
                                <td>'.$row['terName'].'</td>
                                <td>'.$row['amount'].'</td>
                                <td>'.$count.'</td>
                                </tr>
                            </tbody>
                            ';
                    }
                    ?>   
                </table>
        </div>
    </body>
</html>

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

但结果始终是完整的表格,显示 1 到 1 个条目,但在表格中它显示了超过 25 个单元格。请参阅随附的屏幕截图

请让我知道我做错了什么?

标签: javascriptphphtml

解决方案


我将其发布为答案,因为它解决了问题。

<tbody>必须在循环之外


推荐阅读