개발 Q&A

제목 웹페이지에서 이러한 형태로 출력할수 있는 방법이 있을까요?;
글쓴이 정수리 작성시각 2016/08/23 12:43:54
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 11013   RSS

uj_pk| year | date | start | end | pr | kinds | sj | pg_name | cf_pk | cf_ask_exdate | cf_ask_pr | cf_askqu | cf_askyb  

1  | 2016 | 01-01 | 01-03| 01-05 | 100| 0  |테스트 | A ,B    | 1 | 01-03 | 25 | 4 | 0  

1 | 2016 | 01-01 | 01-03| 01-05 | 100 | 0  |테스트 | A ,B    | 2 | 06-05 | 25 | 4 | 0 

 1 | 2016 | 01-01 | 01-03| 01-05 | 100 | 0 |테스트 | A ,B    | 3 | 09-05 | 25 | 4 | 0  

1 | 2016 | 01-01 | 01-03| 01-05 | 100 | 0  |테스트 | A ,B    | 4 | 12-31 | 25 | 4 | 0 

DB에서 데이터를 가져오면 위의 같은 형태로 가지고 옵니다. 

저것을 웹페이지에서 출력을 해야하는데 이러한 형태로 출력을 해야합니다.  

 1| 2016 | 01-01 | 01-03 | 01-05 |100 |0 |테스트| A, B  

    | 1 | 01-03 | 25 | 4 | 0  

    | 2 | 06-05 | 25 | 4 | 0  

    | 3 | 09-05 | 25 | 4 | 0  

    | 4 | 12-31 | 25 | 4 | 0 

이렇게 출력이 되도록 해야합니다 uj_pk~ pg_name 까지는 동일한 내용이기에 한줄로 뿌려지고  cf_pk~cf_askyb는 서로 다른 데이터이기에 각각 출력이 되도록 해야합니다 ㅜㅜ 

원래 8개로 나왔던 데이터를 join과 group by를 통해 4개로 나오도록 하였습니다 이제 출력만 저위의 형태로만 

출력되도록하면 되는데 ㅜㅜ 각각출력되는 부분을 어떤식으로 반복문을 통해 출력을 해야할지 모르겠네요 ㅜㅜ 

포럼분들의 도움과 노하우 좀 부탁드립니다. 

즐거운 하루되세요~

 다음글 td의 rowspan 속성값을 유동적으로 변경되도록 하... (1)
 이전글 php HTTP_REFERER에 관해 (3)

댓글

/ 2016/08/23 14:57:46 / 추천 0
$ujAndPgData = $cfData = array();
foreach ($dbData as $l) {
   $ujAndPgData[] = array($l['uj_pk',$l['year'],......]);
   $cfData[]      = array($l['cf_pk'],.........);
}

 

정수리 / 2016/08/23 15:07:32 / 추천 0

@닉 

답변 감사합니다

다행히 구글링을 통해 찾아서 해결하였습니다^^

저런 방법도 있군요;

$ujAndPgData = $cfData = =array();

이 코드는 어떤 의미인가요?

$ujAndPgData에 배열을 선언하고

$cfData도 배열을 선언한다는 뜻인가요?

/ 2016/08/23 15:32:12 / 추천 0
@정수리 배열로 초기화하는건데 php는 약타입언어라 구지 저렇게 초기화 안해도 되는데, 명시적으로 다른사람이 코드 봤을때 배열이 들어가는구나 하고 알게 해주려고 저는 저런식으로 초기화 해줍니다. 컴파일 할때도 타입추론 안해도 되니 좀 더 빠를거 같기도 하고, 아닐수도 있고요.. 그리고 == 두개 아니라 한개요 ;; ㅋ
정수리 / 2016/08/23 15:34:42 / 추천 0

@닉

아그렇군요 ㅋㅋㅋ 제가 보고 치면서 오타가 났네요^^;;

kaido / 2016/08/23 15:51:07 / 추천 0

@닉

저도 가급적 배열은 초기화를 해서 사용 합니다

혹시나 해서 나올 오류 [조건에 따라서 배열 사용도 안하고 나중에 출력 하려고 하거나 하는] 를 방지하는 효과도 있고, 이게 배열이구나 하고 가시적인 효과를 줄수도 있고요.

물론 코드를 보면 '배열 사용했네' 라고 보이긴 하지만, 타인이 보면 '이게 어디서 부터 시작되는 배열이지?' 라는 부분을 해소 시켜줄수 있는 역할도 있거든요.

별 차이 없어 보이지만 섬세하며 굉장히 중요한 부분이라고 생각 합니다.

/ 2016/08/23 16:30:04 / 추천 0
@kaido 동의합니다 ㅎ