祝大家……我有以下mysql结构(在线商店),其中submenu@2表示该产品的子类别…标签子菜单id 2…因此,我将基于分组的特定产品类别的属性逐行存储:
attribute`s table :
(id, subcategory_id, group, name, link, location)
(1, submenu@2, display, Size, 0, 0)
(2, submenu@2, display, Colors, 0, 0)
(3, submenu@2, display, Display type, 0, 0)
(4, submenu@2, display, Contrast, 0, 0)
(5, submenu@2, conectivity, VGA, 0, 0)
(6, submenu@2, conectivity, HDMI, 0, 0)
(7, submenu@2, conectivity, DSUB, 0, 0)
我想要的是在单个表行(<tr><td></td></tr>
)中显示这个(管理面板),像这样:
<tr>
<td>submenu@2</td>
<td>display</td>
<td>Size - Colors - Display Type - Contrast</td>
</tr>
<tr>
<td>submenu@2</td>
<td>conectivity</td>
<td>VGA - HDMI - DSUB</td>
</tr>
同一产品的表行按组分开。我花了3个小时思考如何做到这一点,但我毫无头绪…也许一个不同的mysql查询会做到这一点(现在我正在做一个select * from table_name
,并认为使用php if
会做到这一点…但没有成功)
使用mysql的group concat函数(http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat)
SELECT GROUP_CONCAT(name, " - ") FROM attributes GROUP BY group
这对你有用吗?