Php Mysql别名中的自定义数组索引
我想知道是否可以将Mysql查询的记录列出到自定义数组中 就像我做的那样Php Mysql别名中的自定义数组索引,php,mysql,Php,Mysql,我想知道是否可以将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
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
给我们整个查询吗?@OrelEraki它只是有一些连接和一个groupby进一步。我们最好看到整个图片,而不是其中的一部分,因此,我们可以告诉您具体修复什么,而无需对代码的其余部分进行更改。为什么不读取所有行并将它们放入自定义数组中呢?在db上做这件事更有意义-side@steve是的,你是对的,但我在想,是否有一种方法可以只使用MYSQL,这样我就不用使用PHP来制作一个理想的数组了。你的意思是,单独使用MYSQL是不可能的吗?不过,你可以得到一个带有“categoryname”、“total”和“MONTH”键的数组。只需使用[mysql | mysqli]\u fetch_assoc()
函数即可。
$newArray = array();
foreach($results as $result) {
$newArray[] = array(
'CAT' => array(
'categoryname' => $result["CAT"]["categoryname"]
),
'DET' => array(
'total' => $result[0]["total"],
'MNTH' => $result[0]["MNTH"]
)
);
}