Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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
将三列sql映射到php数组_Php_Mysql_Arrays - Fatal编程技术网

将三列sql映射到php数组

将三列sql映射到php数组,php,mysql,arrays,Php,Mysql,Arrays,我有一个MySQL表,其中有四列:location\u id、location\u name、address、city 我需要做两个下拉列表,其中第一个下拉列表是城市名称。因此,如果有10个同名城市,下拉列表中应该只有1个城市。选择该城市后,相应的位置名称应出现在下一个下拉列表中-位置名称。选择位置名称下拉列表后,将显示其相应的地址 我的逻辑之一是: 从数据库中选择所有不同的城市。通过另一个查询,选择所有信息。 查询: 从位置选择不同的(城市) 这会给我所有不同的城市名称 从位置选择* 所有必需

我有一个MySQL表,其中有四列:location\u id、location\u name、address、city

我需要做两个下拉列表,其中第一个下拉列表是城市名称。因此,如果有10个同名城市,下拉列表中应该只有1个城市。选择该城市后,相应的位置名称应出现在下一个下拉列表中-位置名称。选择位置名称下拉列表后,将显示其相应的地址

我的逻辑之一是: 从数据库中选择所有不同的城市。通过另一个查询,选择所有信息。

查询:
从位置选择不同的(城市)
这会给我所有不同的城市名称

从位置选择*
所有必需的数据

制作一个数组,其中key是城市名称,位置细节作为数组。像这样的

 Array
(
    [0] => stdClass Object
        (
            [location_id] => 27
            [location_name] => ANSND
            [address] => some street 1
            [city] => NYC
        )

    [1] => stdClass Object
        (
            [location_id] => 809
            [location_name] => ANBC
            [address] => some street 1
            [city] => NYC
        )

    [2] => stdClass Object
        (
            [location_id] => 810
            [location_name] => dasddsdss
            [address] => some street 1
            [city] => Calif
        )

    [3] => stdClass Object
        (
            [location_id] => 811
            [location_name] => testing 6 feb
            [address] => some street 1
            [city] => Calif
        )

)
如何在PHP中实现这一点

Array
(
    [NYC] => Array
        (
            [0] => stdClass Object
                (
                    [location_id] => 27
                    [location_name] => ANSND
                    [city] => NYC
                    [address] => some street 1 

                )

            [1] => stdClass Object
                (
                    [location_id] => 809
                    [location_name] => ANBC
                    [city] => NYC
                    [address] => fsff
                )

        )

    [Calif] => Array
        (
            [0] => stdClass Object
                (
                    [location_id] => 810
                    [location_name] => dasddsdss
                    [city] => Calif
                    [address] => some street 1
                )

            [1] => stdClass Object
                (
                    [location_id] => 811
                    [location_name] => testing 6 feb
                    [city] => Calif
                    [address] => some street 1
                )

        )

)


您的疑问是什么?您的问题是什么?请详细解释。@Prakash编辑了该问题。您能显示表“位置”的10个数据吗?地址字段在哪里?请尝试以下答案
<?php 
    $results = array(); // it will be your resulted array

    $data_locations = array(); // lets say it is your data list of location table

    foreach( $data_locations as $location )
    {
        $results[$location->city][] = array(
            'location_name' =>$location->location_name; 
            'address' =>$location->address; 
        )
    }

    echo "<pre>"; print_r( $results ); die;
?>