2015-05-01 114 views
-1

我有这样的MySQL表,我有四列:LOCATION_ID,LOCATION_NAME,地址,城市映射三列到PHP数组

我需要做两个下拉菜单,其中第一个下拉是城市名称。所以,如果有10个同名的城市,下拉应该只有1个城市。选择该城市后,相应的位置名称应该到达下一个下拉列表 - 位置名称。选择位置名称下拉菜单后,将显示相应的地址。

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

查询: SELECT distinct(city) from locations;
这会给我的所有不同的城市名称。

SELECT * from locations;
所有需要的数据

做一个数组,其中关键是城市名,并作为阵列位置的详细信息。像这样的东西

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 
       ) 

     ) 

) 
+1

什么是您的查询?你有什么问题请详细解释。 – Prakash

+0

@Prakash编辑问题 – nirvair

+0

您可以显示表格'位置'的10个数据吗? – Prakash

回答

0
<?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; 
?> 
+0

那么,如何才能将城市与地点和地址进行映射? – nirvair

+0

让我看看上面代码的结果 – Prakash