2012-08-07 4 views
0

데이터베이스의 음식 목록을 범주별로 배열 순서로 가져와 각 항목을 범주로 나눌 수 있습니다. 이처럼 차원 배열로 행 나누기

.. 여기

$menu = array(
    'Appetizers' => array(
     'Chicken Tenders' => '$2.99', 
     'Twisted Chips' => '$1.99' 
    ), 
    'Seafood' => array(
     'Bayou Tilapia' => '$4', 
     'Grill Atlantic Salmon' => '$3.99' 
    ), 
    'Steaks & Combos' => array(
     'Cowboy Grande Sirloin' => '$7.99' 
    ) 
     ) 

은 내가 한 것입니다.

$db->Query("SELECT menuTitle,menuCategory,menuPrice FROM menu"); 
$menu = array(); 
while ($row = $db->Row()) { 
    $a = array($row->menuCategory => array($row->menuTitle=>$row->menuPrice)); 
    array_push($menu,$a); 
    } 

작동하지 않는 것 같습니다. 이것을 달성하는 방법을 조언 해 주시겠습니까?

+0

var_dump ($ menu)는 무엇입니까? –

+0

try $ menu [$ row-> menuCategory] [$ row-> menuTitle] = $ row-> menuPrice; array_push와 $ a = – Waygood

답변

0

교체 :

$a = array($row->menuCategory => array($row->menuTitle=>$row->menuPrice)); 
array_push($menu,$a); 

로 :

$menu[$row->menuCategory][$row->menuTitle]=$row->menuPrice; 
+0

와우, 나는 몇 시간 동안 해보려고 노력해 왔습니다. 고마워요. D – Rik

0

while 블록의 코드는 정확히 잘 보이는되지 않으며, 당신은 항상 반복하는 동안$a 배열을 다시 정의한다.

while ($row = $db->Row()) { 
    $a[ $row->menuCategory ][ $row->menuTitle] = $row->menuPrice; 
    array_push($menu,$a); 
} 

이렇게하면 새 키만 배열에 추가됩니다.

0
$db->Query("SELECT menuTitle,menuCategory,menuPrice FROM menu"); 
$menu = array(); $a = array(); 

while ($row = $db->Row()) { 
    $a[$row->menuCategory ][$row->menuTitle] = $row->menuPrice; 
} 
array_push($menu,$a); 

echo "<pre>";print_r($menu);echo "</pre>"; 
관련 문제