-1

我正在做一个项目,我正在使用 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 表格来显示表格中的每个项目,并且“类别”字段不会重复。我需要一个想法!

4

1 回答 1

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
}
于 2013-10-28T20:40:56.610 回答