2015-05-01 115 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