2013-10-31 119 views
0

我從一個表中拉出3個柱面並將它們存儲在數組中,以便填充下拉菜單。 ref_code用於決定它將進入哪個下拉菜單('Module','Customer','Application'),而id是選擇值,ref_desc是顯示文本。第一行從多個數組中選擇一個特定值

foreach ($test as $t) { 
    $aa[] = array($t->ref_code => array('id'=>$t->id, 'ref_desc'=>$t->ref_desc)); 
}; 

我一直在嘗試使用$ aa ['ref_code']檢索它們,但一直沒有獲得任何成功。請幫助。

This question is similar,但我無法檢索我想要的值。

我在另一個論壇上發現了一個解決方案,但我也會在稍後嘗試您的解決方案。非常感謝你!

foreach ($aa as $a => $d) { 
    foreach ($d as $ref_code => $dd) { 
     echo "<p>". $ref_code ."</p>"; 
     echo "<p>". $dd['ref_desc'] ."</p>"; 
     echo "<p>". $dd['id'] ."</p>"; 
    }; 
}; 

回答

0

你爲什麼不這樣寫呢? ref_code(如果它是唯一的)是數組的關鍵字。

foreach ($test as $t) { 
     $aa[$t->ref_code] = array('id'=>$t->id, 'ref_desc'=>$t->ref_desc); 
    }; 
+0

每個下拉菜單( '模塊', '客戶', '申請')則只能有一個項目。 –

0

你需要一個三維陣列:

下拉菜單=> IDS => displaytext

在這裏我們去:

// fill in: 
$aa = array(); 
foreach ($test as $t) { 

    if (!isset($aa[$t->ref_code])) 
     $aa[$t->ref_code] = array(); 

    $aa[$t->ref_code][$t->id] = $t->ref_desc; 

}; 


// have a drop down: 
$myDropDown = 'Customer'; 
foreach ($aa[$myDropDown] as $id => $displaytext) 
{ 
     echo "<option value=\"" . $id . "\">" . $displaytext . "</option>"; 
} 
.... etc. 
相關問題