[英]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.