我想知道是否可以将Mysql查询的记录列入自定义数组 就像我做的那样
SELECT CAT.catgryname,count(JB.knifeid) AS total
FROM jbs AS JB
LEFT JOIN krgstrs AS KR ON KR.id = JB.knfid
LEFT JOIN accnts AS ACC ON ACC.job_id = JB.id
LEFT JOIN catgor AS CAT ON CAT.id = KR.subctid
WHERE JB.usrid =xxx
GROUP BY CAT.catgryname
它给了我
[0] => Array
(
[CAT] => Array
(
[categoryname] => Fridge Magnet
)
[0] => Array
(
[total] => 22
[MNTH] => Jan
)
)
我想为嵌套在里面的第二个数组(如
)设置自定义索引而不是0[0] => Array
(
[CAT] => Array
(
[categoryname] => Fridge Magnet
)
[DET] => Array
(
[total] => 22
[MNTH] => Jan
)
)
请注意DET而不是0。
我试过
SELECT CAT.catname,count(cat.id) as DET.total
但它会抛出错误,因为我认为它将DET解释为此处的表格。 谢谢大家。
答案 0 :(得分:1)
我不会在DB-Side上这样做。
但是我不知道你是如何获得数组的(使用mysqli
或mysql
PHP扩展)。无论如何,正如在评论中指出的那样,只需在PHP端执行此操作。
尝试使用此功能($results
是您所描述的数组 - 索引为CAT
和0
)
$newArray = array();
foreach($results as $result) {
$newArray[] = array(
'CAT' => array(
'categoryname' => $result["CAT"]["categoryname"]
),
'DET' => array(
'total' => $result[0]["total"],
'MNTH' => $result[0]["MNTH"]
)
);
}
然后你去了$newArray