여분필드 추가 후 정렬하기

여분필드 추가 후 정렬하기

QA

여분필드 추가 후 정렬하기

본문


<?  
$current_time = time(); 
$wr_1 = strtotime($list[$i][wr_1]) + ($list[$i][wr_2] * 3600); // 시작날짜 + 시작시간 계산
$wr_3 = strtotime($list[$i][wr_3]) + ($list[$i][wr_4] * 3600); // 마감날짜 + 마감시간 계산
  
$wr_1_text = date("Y년 m월 d일", $wr_1);
$wr_3_text = date("Y년 m월 d일", $wr_3);
 
// 프로젝트신청인원 체크
$sql_event_total = " select count(*) as cnt_total from g5_event_request where bo_table = '$bo_table' and wr_id = '$wr_id' ";
$row_event_total = sql_fetch($sql_event_total);
// 프로젝트 진행상태 아이콘
if($wr_1 < $current_time && $wr_3 > $current_time){
 if($view[wr_5] == 0 ){  // 프로젝트 진행중
  $ico_state_img = '<span class="tack-icon bg-orangered">진행중</span>';
 }else if( $row_event_total[cnt_total] >= $view[wr_5] ){  // 프로젝트 신청인원 마감
  $ico_state_img = '<span class="tack-icon bg-gray">마   감</span>';  
 }else{
  $ico_state_img = '<span class="tack-icon bg-orangered">진행중</span>'; // 프로젝트 진행중
 }
}else if($wr_3 < $current_time){
  $ico_state_img = '<span class="tack-icon bg-gray">마   감</span>'; // 프로젝트 마감
}else if($wr_1 > $current_time){
  $ico_state_img = '<span class="tack-icon bg-blue">시작전</span>'; // 프로젝트 시작전
}
?>
 

위 와같은 함수를 써서 진행상황을 표현 하는데,

list 에서 정렬을 시킬때 보통은 DB 필드를 호출 함으로 정렬을 시키는데,

혹시, 다른 방법으로 정렬이 가능 할까요? 

 

진행중/마감/시작전   이런 식의 정렬은 힘들까요?

 

이 질문에 댓글 쓰기 :

답변 1

order by 문 없이 그누에서 리턴에준 배열의 특정 필드값으로의 정렬을 말씀이신가요?

여러가지 방법이 있습니다만..

 

for문으로 한번 돌려서 $list 를 재 배열 시키는것과

php 기본 함수인 array_multisort 함수로 $list 를 재 배열 시키는것입니다.

http://php.net/manual/en/function.array-multisort.php 

 

order by 가 사용 가능하시다면..

order by 에도 조건이 가능하니 더할나위 없이 좋구요.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 88
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT