[英]need to fetch data from 2 tables in mysql
我有两个表filter_categories和filter标签
filter_categories
id | category
filter_tags
id | filter_category_id | filter_tag
我正在编写以下查询以加入这些表
"select filter_categories.filter_category,
filter_tags.filter_tag from filter_categories JOIN filter_tags ON
(filter_tags.filter_category_id=filter_categories.id) where
filter_categories.filter_id='".$_GET["id"]."'
我用php print_r()得到这个结果
Array
(
[0] => Array
(
[filter_category] => abcty
[filter_tag] => sdfds
)
[1] => Array
(
[filter_category] => abcty
[filter_tag] => dgdfg
)
[2] => Array
(
[filter_category] => abcty
[filter_tag] => gdgdf
)
[3] => Array
(
[filter_category] => abcty
[filter_tag] => dgdfgf
)
[4] => Array
(
[filter_category] => abcty
[filter_tag] => dsfs
)
)
但是我需要这样获取结果
Array
(
[0] => Array
(
[filter_category] => abcty
[filter_tag] => array(
[filter_tag] => dgdfg
[filter_tag] => dgdfgf
[filter_tag] => dsfs
)
)
)
[1] => Array
(
[filter_category] => efg
[filter_tag] => array(
[filter_tag] => et
[filter_tag] => yu
[filter_tag] => op
)
)
)
有人可以帮我吗..怎么做? 谢谢
首先,像这样修改您的查询以获取类别的ID
select filter_categories.id,filter_categories.filter_category,
filter_tags.filter_tag from filter_categories JOIN filter_tags ON
(filter_tags.filter_category_id=filter_categories.id) where
filter_categories.filter_id='".$_GET["id"].
然后假设您的结果进入$arrfilterALLDetails
数组,然后仅使用for循环按如下所示修改结果即可。
$arrfilterDetails = array();
foreach ($arrfilterALLDetails as $key => $value) {
$arrfilterDetails[$value['id']]['filter_category'] = $value['filter_category'];
$arrfilterDetails[$value['id']][$value['filter_tag']] = $value['filter_tag'];
}
print_r($arrfilterDetails);
稍微玩一下,您将获得所需的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.