我想知道是否可以将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 解释为此处的一个表。 谢谢大家。
最佳答案
我不会在数据库端这样做。
但是我不知道如何获取数组(使用 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
关于php - Mysql Alias 中的自定义数组索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14643770/