2012-05-22 3 views
1

그래서 저는 일종의 사용자 시장 유형을 만들려고합니다. 데이터베이스가 item_names이고 기본적으로 가상 항목을 설명하고 다른 테이블 market이 있습니다. 사용자가 해당 항목 중 하나를 나열하면 사용자 사용자 시장에 판매됩니다.PHP에서 foreach 루프로 항목 그룹화하기

여기서 유일한 문제는 item_name 테이블에서 참조되는 항목 이름으로 그룹화하려는 것입니다. 나는 if/else 문을 여러 번 할 수 있다는 것을 알고 있지만 많은 항목이 있기 때문에뿐만 아니라 시간이 갈수록 더 많은 항목을 추가하기 때문에 관계가 없다. 최종 결과를

--[Water for sale]---------------------+ 

[50 water for sale] [20 water for sale] 

[10 water for sale] [10 water for sale] 

--[Chips for sale]----------------------+ 

[50 chips for sale] [20 chips for sale] 

[10 chips for sale] [10 chips for sale] 

등과 같이 원하는 결과를 얻으십시오.

어떤 도움이 필요합니까?

+0

그냥 SQL을 사용하십시오 ... – Flukey

+0

http://www.garfieldtech.com/blog/php-group-by-with-arrays – Unixmonkey

+0

mmmmmmmm 칩 및 생수. – goat

답변

3

가져 오기 데이터 :

$data = array(); 
while ($row = mysql_fetch_assoc($result)) { 
    $itemName = $row["item_name"]; 
    if (!array_key_exists($itemName, $data)) { 
    $data[$itemName] = array(); 
    } 
    $data[$itemName][] = $row; 
} 

데이터를 표시

foreach ($data as $itemName => $rows) { 
    echo '<h1>', $itemName, '</h1>'; 
    echo '<ul>'; 
    foreach ($rows as $row) { 
    echo '<li>', $row["article_name"], '</li>'; 
    } 
    echo '</ul>'; 
} 
0

반드시 위해 (안 그룹) 당신의 SQL 쿼리의 결과, 다음 루프가 매우 간단합니다 (확인 PDO라고 가정하고 테이블 item_names에있는 열 item_name) :

+0

감사합니다. 이것이 제가 목표로 삼은 것입니다. 단지 시각화 할 수 없었습니다! – Urduni

관련 문제