PHP foreach类别和项目
我遇到的MySQL查询情况如下:PHP foreach类别和项目,php,mysql,codeigniter,loops,foreach,Php,Mysql,Codeigniter,Loops,Foreach,我遇到的MySQL查询情况如下: 类别1-项目1 类别1-项目2 类别1-项目3 类别2-项目3 类别2-项目4 类别2-项目5 类别2-项目1 类别3-项目4 类别3-项目10 X类-项目X或项目(1,2,3…现有) 如何在PHP中按类别分组 数据库方案: MySQL查询: $query = "SELECT cat.category_name, ch.channel_name FROM `type_categ` tc , `categories` cat , `channels` ch
- 类别1-项目1
- 类别1-项目2
- 类别1-项目3
- 类别2-项目3
- 类别2-项目4
- 类别2-项目5
- 类别2-项目1
- 类别3-项目4
- 类别3-项目10
- X类-项目X或项目(1,2,3…现有)
$query = "SELECT cat.category_name, ch.channel_name
FROM `type_categ` tc , `categories` cat , `channels` ch
WHERE cat.category_id = tc.category_id AND ch.channel_id = tc.channel_id
ORDER BY cat.category_name ASC"
输出:
var_dump($category)
array(x) {
[0]=> array(2) {
["category_name"]=> string(8) "Category1"
["channel_name"]=> string(15) "Item1"
}
[1]=> array(2) {
["category_name"]=> string(8) "Category1"
["channel_name"]=> string(17) "Item2"
}
[2]=> array(2) {
["category_name"]=> string(8) "Category1"
["channel_name"]=> string(10) "Otem 5"
}
... ...
[x]=> array(2) {
["category_name"]=> string(8) "Category x"
["channel_name"]=> string(10) "Item x"
}
}
您可以在数据上迭代,以您想要的格式创建数组。
像这样的东西可能()
使用foreach并将其分配给新数组
$newOptions = array();
$i=1;
foreach ($category as $option) {
$cname = $option['category_name'];
$itemname = $option['channel_name'];
$newOptions[$cname][$i] = $itemname;
$i++;
}
你试过什么?结果应该是什么样的?有相当多的信息缺失。
$newOptions = array();
$i=1;
foreach ($category as $option) {
$cname = $option['category_name'];
$itemname = $option['channel_name'];
$newOptions[$cname][$i] = $itemname;
$i++;
}