【问题标题】:Generate HTML table using PHP with specific cell structure [closed]使用具有特定单元格结构的 PHP 生成 HTML 表格 [关闭]
【发布时间】:2018-06-05 21:10:15
【问题描述】:

我正在做一个项目,我正在使用 PHP 从 MySQL 数据库中获取数据。

我的 MySQL 数据库如下所示:

------------------------------------------------
|  Category   |   Name   |  Info 2  |  Info 3 |
------------------------------------------------

我需要像这样显示所有内容:

----------------------------------------------
Category 1  |  Name  |  Info 2  |  Info 3  |
             |--------------------------------
             |  Name  |  Info 2  |  Info 3  |
----------------------------------------------
Cathegory 2  |  Name  |  Info 2  |  Info 3  |
             |--------------------------------
             |  Name  |  Info 2  |  Info 3  |
             |--------------------------------
             |  Name  |  Info 2  |  Info 3  |
----------------------------------------------

所以我需要生成一个 HTML 表格来显示表格中的每个项目,并且“类别”字段不会重复。 我需要一个想法!

【问题讨论】:

  • 当您遍历所有数据时,使用第二个循环查看您的类别(类别)达到“多远”,并将您的行跨度设置为该数字。
  • 喜欢有一个变量并为每个对应于该类别的项目增加 1?对不起,如果“cathegory”错了,我不是英语母语,我有一些问题。

标签: php mysql html-table


【解决方案1】:

将您的行从数据库中提取到一个按类别名称索引的数组中可能会有所帮助。类似于这个结构:

$categories = array(
    'Cathegory 1' => array(
        array('Name', 'Info 2', 'Info 3'),
        array('Name', 'Info 2', 'Info 3')
    ),
    'Cathegory 2' => array(
        array('Name', 'Info 2', 'Info 3'),
        array('Name', 'Info 2', 'Info 3'),
        array('Name', 'Info 2', 'Info 3'),
    ),
);

这假定类别名称是唯一的。

这样,当您遍历每个类别时,您只需找出该类别中项目的 count() 即可知道有多少行。

foreach ($categories as $categoryName => $categoryItems) {
    $rowspan = count($categoryItems);
    // ... output html code using $rowspan
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    • 2018-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多