-2

可能重复:
在 PHP 中显示包含重复列的表

我想以特定的结构化方式显示一些 MySQL 数据。假设我在 MySQL 数据库中有这些数据

id         sections                 items
1          Section A                Item 1
1          Section A                Item 2
1          Section A                Item 3
1          Section A                Item 4
1          Section B                Item 5
1          Section B                Item 6
1          Section C                Item 7
1          Section C                Item 8
1          Section A                Item 9
1          Section D                Item 10
1          Section D                Item 11

如何让它在 PHP 中显示如下:

SECTION A
---------

Item 1
Item 2
Item 3
Item 4
Item 9


SECTION B
---------

Item 5
Item 6


SECTION C
---------

Item 7
Item 8

SECTION D
---------

Item 10
Item 11
4

2 回答 2

2
$sql = mysql_query("SELECT sections, items 
                    FROM my_table 
                    ORDER BY sections");
$lastSection = '';
while($row = mysql_fetch_array($sql)) {
   if($lastSection != $row['sections'])
       echo $row['sections'] . '<br />';
   echo $row['items'] . '<br />';
   $lastSection = $row['sections'];
}
于 2012-10-28T17:04:38.677 回答
0

尝试从按“部分”排序的数据库中获取所有数据,并从普通数组中显示。

<? $currentSection = null; ?>
<? foreach ($data as $row): ?>
  <? if ($row['section'] != $currentSection): ?>
    <? $currentSection = $row['section']; ?>
    <h1><?=$row['section']?></h1>
  <? endif; ?>
  <div><?=$row['item']?></div>
<? endforeach; ?>
于 2012-10-28T17:04:18.557 回答