使用PHP和DataTables创建分页数据表格

WBOY
풀어 주다: 2023-05-11 18:26:02
원래의
1540명이 탐색했습니다.

在Web开发中,数据表格是我们经常需要用到的组件。而分页,则是在处理大量数据时常见的需求之一。如果要实现一个大量数据的分页数据表格,很多人可能会选择使用前端框架比如Vue、React或者Angular。然而,使用后端语言PHP和前端插件DataTables也可以轻松创建分页数据表格,并且更加灵活和可定制性更高。下面我们就来看一下如何利用PHP和DataTables创建分页数据表格。

首先,我们需要一个用于呈现数据的数据源。由于PHP是一种非常强大的服务器端语言,可以通过连接数据库或者读取文件等方式获取数据。在本文中,我们将用PHP连接MySQL数据库来获取数据,并且将其以JSON格式输出,供DataTables渲染数据表格。为了方便演示,我们使用一个假数据表。可以通过如下代码创建一个名为"users"的数据表。

CREATE TABLE users (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(30) NOT NULL,
    age INT(3) NOT NULL,
    email VARCHAR(50),
    registration_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
로그인 후 복사

接下来,我们将在PHP文件中编写数据源接口。代码如下:

connect_error) {
    die("连接失败: " . $conn->connect_error);
} 

// 查询数据总数
$sql = "SELECT COUNT(*) FROM users";
$result = $conn->query($sql);
$row = $result->fetch_row();
$total_count = $row[0];

// 分页参数
$limit = $_GET["length"];
$offset = $_GET["start"];

// 查询当前页数据
$sql = "SELECT id, name, age, email, registration_date FROM users LIMIT $offset, $limit";
$result = $conn->query($sql);

// 构造JSON数据
$data = [];
while($row = $result->fetch_assoc()) {
    $data[] = $row;
}
echo json_encode(array(
    "draw" => $_GET["draw"], 
    "recordsTotal" => $total_count, 
    "recordsFiltered" => $total_count, 
    "data" => $data
));

$conn->close();
?>
로그인 후 복사

上述代码中,我们首先连接数据库,并查询数据总数。接着,从GET参数中获取分页参数,并根据分页参数查询当前页数据。最后,将数据构造成JSON格式,并输出给DataTables。

接下来,我们就需要引入DataTables插件,并对其进行配置和初始化。可以通过如下代码引入DataTables和jQuery。






로그인 후 복사

接着,在HTML中创建一个表格DOM节点,并添加如下代码进行DataTables初始化。

// 初始化 DataTables
$(document).ready(function() {
    $('#example').DataTable({
        "processing": true,
        "serverSide": true,
        "ajax": "data.php"
    });
});
로그인 후 복사

在这里,我们设置了DataTables的processing参数为true,表示开启加载提示。serverSide参数也设置为true,表示开启服务器端模式。最后,ajax参数设置为"数据源接口URL",指向我们刚才编写的PHP文件。这样,当用户浏览数据表格的时候,DataTables将会以分页查询的方式从服务器上获取数据,并呈现在表格中。

至此,一个包含分页功能的数据表格就被成功地创建出来了。以上便是使用PHP和DataTables创建分页数据表格的基本思路和代码演示。读者可以根据自己的具体需求来进行调整和改进。

위 내용은 使用PHP和DataTables创建分页数据表格의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!