2011-01-27 3 views
0

간단한 SQL/PHP 문제에 대해 약간의 도움이 필요합니다. task_categories 테이블에서 작업 목록을 테이블에 저장 한 다음 작업 범주를 저장합니다. 두 개의 테이블을 연결하는 categoryID의 외래 키가 있습니다.SQL 결합이 있습니다. 하지만 카테고리 이름을 한 번만 표시하려면 어떻게해야합니까?

내가 원하는 것은 첫 번째 카테고리를 나열한 다음 모든 작업을 나열하는 것입니다. 그런 다음 두 번째 범주와 해당 작업을 나열하십시오. 현재, 작업을 트리 형식으로 나열했습니다.

카테고리 이름을 한 번 표시 한 다음 작업, 다음 카테고리 등을 표시하려면 어떻게 코드를 수정합니까 (아래 붙여 넣기)?

답변

1

ORDER BY categoryID ASC으로 쿼리를 수정합니다. 그런 다음 범주가 변경되는 시점을 추적하면서 결과를 반복 할 수 있습니다. 변경 될 때마다 범주 이름을 인쇄 한 후 다음 범주에 도달 할 때까지 작업을 인쇄합니다.

$currentCategoryID = -1; 
foreach (...) { 
    // ... 
    if ($categoryID != $currentCategoryID) { // Category has changed! 
     $currentCategoryID = $categoryID; 

     // Show Category Name 
    } 

    // Continue listing 
} 
+0

너무 힘들지는 않지만 내 인생을 위해 구현할 수는 없습니다. 모든 단일 작업에 대한 범주 이름을 반복하여 유지합니다. 내가 뭘 잘못했는지 알기나 해? –

+1

시도한 코드로 코드를 업데이트하면 누군가가 잘못한 것을 볼 수 있습니다. 왜 우리에게 추측을 요구합니까? –

관련 문제