我有一张桌子,我正在保存类别和产品名称:
+-----------------------+ | products | +-----------------------+ | id name cat_name | | 1 lily flower | | 2 hibiscus flower | | 3 cat animal | | 4 dog animal | +-----------------------+
我想要一个带有第一个cat_name的选择列表,并且在该产品中有一个' name'
**flower**
-lily
-hibiscus
**animal**
-cat
-dog
如何在选择列表中实现此目的。请帮忙。
答案 0 :(得分:0)
在html正文中,它是optgroup标记,用于对选项进行分组。
<select>
<optgroup label="flower">
<option value="whatever">lily</option>
<option value="whatever">hibiscus</option>
</optgroup>
...
</select>
希望你能得到这个想法。 请注意,这些optgroup看起来很差。也许你需要一些jquery插件来获得你想要的东西。
答案 1 :(得分:0)
如果你能得到像这样的数组
array(
array(
'id' => 1
'name' => 'lily',
'cat_name' =>'flower'
),
array(
'id' => 2
'name' => 'hibiscus',
'cat_name' =>'flower'
),
.....
);
然后用cat分组数据
$groups = array();
foreach ($results as $rs) {
$key = $rs['cat_name'];
if (!isset($groups[$key])){
$groups[$key] = array();
}
$groups[$key][] = $rs;
}
然后循环$ groups,echo html选项,如
//this not php code
loop groups {
echo optgroup opentag
loop groups[cat_name]{
echo option tag
}
echo optgroup close tag
}