2011-11-05 27 views
1

我有一個表與企業列表。每行都有詳細信息,例如商業名稱,ID,區域,數字等等。PHP:json_encode格式

我在查詢mysql數據庫,目前我只是檢索商家名稱和ID。 我然後使用json_encode函數來得到這樣的輸出:{"BusinessA":"business_A_ID","BusinessB":"business_B_ID"}

我想能夠檢索所有的業務細節,並使用JSON編碼功能,以獲得一個輸出,如:

[ 
    { 
     "businessName": "BusinessA", 
     "businessID": "business_A_ID" 
    }, 
    { 
     "businessName": "BusinessB", 
     "businessID": "businees_B_ID" 
    } 
] 

下面是當前的代碼我使用:

$businessRow = array(); 
     $businessResult = mysql_query("SELECT * FROM businessTable"); 
     while($row = mysql_fetch_assoc($businessResult)) { 
      $businessRow[$row['businessName']] = $row['businessID']; 
      } 
      $result = json_encode($businessRow); 
      echo $result; 

所以我的問題是什麼,我需要這行更改爲:

$businessRow[$row['businessName']] = $row['businessID']; 

爲了獲得上面的JSON輸出?

感謝

+0

什麼問題不起作用? –

+0

請參閱我的編輯 – EI756

+0

你有沒有試過json_encode($ businessResult); – John

回答

4

改變你的腳本是這樣的:

$businessRow[] = array(
    'businessName' => $row['businessName'], 
    'businessID' => $row['businessID'] 
); 
1

看來你想:

$rows = array(); 

$result = mysql_query("SELECT businessName, businessID FROM businessTable"); 
while($row = mysql_fetch_assoc($result)) { 
    $rows[] = $row; 
} 

echo json_encode($rows); 

$row就已經是這樣的形式array('businessName' => '...', 'businessID' => '...')的,所以你需要做的就是將其添加到您的最終數組並對其進行編碼。