그룹으로 루프를 돌리면서 해당하는 결과값을 정렬하고 싶은데 도움좀 주세요 부탁드립니다.
본문
안녕하세요 도움을 얻고자 이렇게 글을 써봅니다
아래는 해당 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 ""; }}