그룹으로 루프를 돌리면서 해당하는 결과값을 정렬하고 싶은데 도움좀 주세요 부탁드립니다.
본문
안녕하세요 도움을 얻고자 이렇게 글을 써봅니다
아래는 해당 db이고 출력결과와 같이 해당 학년도 학기로 프로그램명과 프로그램제목을 정렬하고 싶은데
제가 한 결과는 해당 학년과 학기에 중복된 학년과 학기를 하나로 해서 나열하고 해당학년이
중복이 되어서 출력이 됩니다.
과목
ㆍ2014 학년 2학기
- pro1 / sub82
- pro1 / sub93
- pro2 / sub22
- pro2 / sub22
......................
ㆍ2014 학년 1학기
- pro1 / sub82
- pro1 / sub93
- pro2 / sub22
- pro2 / sub22
......................
ㆍ2013 학년 2학기
- pro1 / sub82
- pro1 / sub93
- pro2 / sub22
- pro2 / sub22
- ......................
ㆍ2013 학년 1학기
- pro1 / sub82
- pro1 / sub93
- pro2 / sub22
- pro2 / sub22
- ......................
ㆍ2012 학년 1학기
- pro1 / sub82
- pro1 / sub93
- pro2 / sub22
- pro2 / sub22
- ......................
ㆍ2011 학년 2학기
- pro1 / sub82
- pro1 / sub93
- pro2 / sub22
- pro2 / sub22
- ......................
제가 원하는 결과값은 아래 출력결과처럼
해당 학년, 학기에 신청한 프로그램명과/프로그램제목을 정렬하고 싶어서 이렇게 선배님들께
여쭤보고게 되었습니다 어떻게 하면 좋을까요??
no year term program subject name number school_name faculty
1 2014 1학기 pro1 sub82 홍길동 12345 학교명 학과
2 2014 1학기 pro1 sub93 홍길동 12345 학교명 학과
3 2014 2학기 pro2 sub21 홍길동 12345 학교명 학과
4 2013 1학기 pro2 sub22 홍길동 12345 학교명 학과
5 2013 2학기 pro1 sub64 홍길동 12345 학교명 학과
6 2013 2학기 pro3 sub34 홍길동 12345 학교명 학과
7 2012 1학기 pro1 sub35 홍길동 12345 학교명 학과
8 2012 1학기 pro1 sub31 홍길동 12345 학교명 학과
9 2012 1학기 pro3 sub30 홍길동 12345 학교명 학과
10 2011 2학기 pro3 sub35 홍길동 12345 학교명 학과
============ 출력결과 =============
학교명 : 학교명
학과명 : 학과
성명 : 홍길동
과목
ㆍ2014 학년 2학기
- pro2 / sub21
ㆍ2014 학년 1학기
- pro1 / sub82
- pro1 / sub93
ㆍ2013 학년 2학기
- pro1 / sub34
- pro1 / sub64
ㆍ2013 학년 1학기
- pro2 / sub22
ㆍ2012 학년 1학기
- pro1 / sub35
- pro1 / sub31
- pro3 / sub30
ㆍ2011 학년 2학기
- pro3 / sub35
$sql_where
=
" and ("
;
for
(
$i
=0;
$i
<
count
(
$num_arr
);
$i
++){
if
(
$i
>0)
$sql_where
.=
" or"
;
$sql_where
.=
" no='"
.
$num_arr
[
$i
].
"'"
;
}
$sql_where
.=
")"
;
$cnt
= 0;
$list
=
array
();
$sql
=
" select * from "
.
$g4
[
'program_table'
].
" where (1) $sql_where"
;
$sql
.=
" order by year desc, term desc, subject asc, school_name asc, faculty asc "
;
$sql2
=
" select * from "
.
$g4
[
'program_table'
].
" where (1) $sql_where"
;
$sql2
.=
" group by year desc having year > 1 "
;
$result
= sql_query(
$sql
);
$result2
= sql_query(
$sql2
);
while
(
$row2
=sql_fetch_array(
$result2
)) {
if
(
$list
[
$i
][mp_program] !=
"특강"
&&
$list
[
$i
][mp_program] !=
"교수특강"
&&
$list
[
$i
][mp_program] !=
"Global Program"
&&
$list
[
$i
][mp_program] !=
"Teaching Fellow 소모임"
&&
$list
[
$i
][mp_program] !=
"Web"
&&
$list
[
$i
][mp_program] !=
"이러닝 특강"
) {
echo
"ㆍ "
.
$row2
[mp_year].
"학년도 "
.
$row2
[mp_term].
" "
;
/*
여기에서 프로그램명과 프로그램 제목이 나와야 함
*/
for
(
$i
=0;
$row
=sql_fetch_array(
$result
);
$i
++){
$sum
= 0;
$sql_sum_where
=
" and school_name='$row[school_name]'"
;
if
(
$row
[faculty])
$sql_sum_where
.=
" and faculty='$row[faculty]'"
;
$sql_sum_where
.=
" and program='$row[program]' and year='$row[year]' and term='$row[term]' and subject='$row[subject]' and datetime='$row[datetime]'"
;
$sum
= sumAll(
$row
[schoolname],
$row
[faculty],
$row
[program],
$row
[year],
$row
[term],
$row
[subject],
$row
[datetime] );
if
(
$sum
>0){
$sum_totoal
+=
$sum
;
$list
[
$cnt
][year] =
$row
[year];
$list
[
$cnt
][term] =
$row
[term];
$list
[
$cnt
][school_name] =
$row
[school_name];
$list
[
$cnt
][subject] =
$row
[subject];
$list
[
$cnt
][datetime] =
$row
[datetime];
$list
[
$cnt
][faculty] =
$row
[faculty];
$list
[
$cnt
][program] =
$row
[program];
$list
[
$cnt
][division] =
$row
[division];
$list
[
$cnt
][part] =
$row
[part];
$list
[
$cnt
][sum] =
$sum
;
$cnt
++;
}
// end if
}
echo
""
;
}
}