Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mysql别名中的自定义数组索引_Php_Mysql - Fatal编程技术网

Php 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

我想知道是否可以将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

给我们整个查询吗?@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"]
        )
    );
}