使用具有特定单元结构的PHP生成HTML表

时间:2013-10-28 20:03:26

标签: php mysql html-table

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

我的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表来显示表中的每个项目,“category”字段不会重复。 我需要一个想法!

1 个答案:

答案 0 :(得分: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
}