2011-09-22 52 views
0

這裏的情景:分配數據庫條目,以網絡服務條目

  1. 我收到一個JSON對象包括140個事件。每個事件都是六種可能的類型之一,包括幾個細節,除了2(描述和聯繫人姓名)。
  2. 我有6個描述和聯繫人名稱的MySQL數據庫。

如何從數據庫中「附加」正確的描述和聯繫人名稱到PHP中的每個JSON條目?

我可以爲每個事件做數據庫查詢,但這似乎不必要的複雜,我想它會嚴重降低性能。最好的選擇是爲Web服務提供商提供我們的描述和聯繫人姓名,但他們不會那樣做。

在此先感謝。

回答

1

如果您可以識別每個事件需要的6個描述/聯繫人名稱中的哪一個,那麼不必從每個事件的數據庫中獲取它們,而是先選擇它們,然後在PHP中執行查找。

例如:

// Build and array like this from your database first 
$my_data = array('type1' => array('desc' => 'foo', 'cname' => 'bar')); 

for($i=0; $i < count($all_events); $i++){ 
    if(isset($my_data[$all_events[$i]['type']]){ 
     array_merge($all_events[$i], $my_data[$all_events[$i]['type']]); 
    } 
} 

我在這裏做了一些假設,但你應該得到的總體思路。請注意,如果您想要隨時修改$all_events陣列,則需要執行for循環而不是foreach