ucscode/domtable

轻量级PHP库,通过最小化代码简化创建表格的过程

2.0.2 2024-01-27 19:44 UTC

This package is auto-updated.

Last update: 2024-10-02 01:59:52 UTC


README

DOMTable

DOMTable是一个轻量级的PHP库,它通过最小化代码简化了创建表格的过程。它使用文档对象模型(DOM)生成HTML代码,允许您轻松以表格格式显示数据。该库设计简单、高效,无需外部依赖。

功能

  • 从MySQL查询结果或数组创建HTML表格
  • 自定义列及其显示标题
  • 在表格中显示之前操纵列值
  • 可选择直接在浏览器中打印表格或获取其字符串形式

安装

Composer

composer require ucscode/domtable

手动

要在您的PHP项目中使用DOMTable,您可以按照以下步骤操作

  1. DOMTable.php 仓库作为.zip文件下载
  2. DOMTable.php 文件放置在您的项目目录中。
  3. 使用 require_once 'DOMTable.php'; 在您的PHP脚本中包含此文件。

用法

设置表格

use Ucscode\DOMTable\DOMTable;

// Instantiate DOMTable with table name
$table = new DOMTable("users");

// Set columns to display on the table
$table->setMultipleColumns([
    "id",
    "username",
    "email"
]);

// Fetch data from MySQL database
$result = $db->query("SELECT * FROM users");

// Populate the table with data
$table->setData($result);

// Generate a UssElement Table Container
$element = $table->build();

// Print to HTML Page
echo $element->getHTML();

使用数组填充数据

数据也可以用数组填充。请看以下示例

$data = [
    [
        'id' => 1,
        'username' => 'John',
        'email' => 'john@example.com',
    ],
    [
        'id' => 2,
        'username' => 'Jane',
        'email' => 'jane@example.com',
    ],
    // Add more rows as needed
];

$table->setData($data);

在这个例子中,$data 是一个包含多行数据的数组,其中每一行表示为一个关联数组。关联数组中的每个键对应于一个列名,相应的值表示该行中该列的数据。您可以添加任意多的行以填充表格,以显示您所需的数据。

修改列值

您可以通过将 DOMTableInterface 实例传递给 DOMTable::setData() 方法的第二个参数来修改每个项目在显示之前的值。这将允许您在渲染之前操作项目数据。

use Ucscode\DOMTable\DOMTableInterface;

$table->setData($result, new class () implements DOMTableInterface 
{
    public function foreachItem(array $item): array
    {
        $item['username'] = 'updated username';
        $item['email'] = 'changed@email.com';
        return $item;
    }
});

$table->build();

许可

本项目受MIT许可协议保护。

贡献

欢迎对DOMTable库的贡献!如果您发现任何问题或对改进有建议,请随时在DOMTable GitHub仓库上创建问题或提交拉取请求。

支持

如果您对DOMTable的使用有任何问题或需要支持,请在GitHub仓库上创建新问题

使用DOMTable,在PHP中创建表格变得轻而易举,让您可以专注于数据展示,无需手动编写HTML代码。享受DOMTable为您的表格生成任务带来的简单性和灵活性。祝您编码愉快!