여분필드 리스트 정렬 도와주세요

여분필드 리스트 정렬 도와주세요

QA

여분필드 리스트 정렬 도와주세요

본문


<?
$array = array("프리미엄 A", "프리미엄 B", "무료");
$check1 = explode(", ", $write['wr_1']);
foreach($array as $v) {
    $checked = in_array($v, $check1) ? " checked" : "";
    echo "<label><input type='checkbox' name='check1[]' value='".$v."' ".$checked." /> ".$v."</label>";
}
?>

 

write.skin.php 파일에

위의 코드처럼 여분필드 체크박스로 만들었고

 

 

 


$board['bo_sort_field'] = 'wr_1 desc, wr_datetime desc';

 

board.head.skin.php 파일에는 이렇게 넣어서 리스트 정렬시키면 

프리미엄 A > 프리미엄 B > 무료 순으로, 최근게시물 순으로 정렬될줄 알았더니

프리미엄 B > A > 무료 순으로 정렬되네요ㅜㅜ 최근게시물 순서는 잘 되고요.,.

 

여분필드라서 정렬이 안되는걸까요?ㅜㅜ 초보라서 잘 모르겠네요 도와주세용

 

이 질문에 댓글 쓰기 :

답변 2

아니면 프리미엄 A B 무료를 코드나 숫자식으로 1,2,3 으로 하고 코드명칭을 1일때 무엇이다 2일때 무엇이다 라고 적용해서 쓰시면 해당 부분에 맞춰 정렬이 되실겁니다.

그러니까 코드를 프리미엄 A 프리미엄 B 라고 항목에 데이터를 넣는게 아니라 별도 코드로 인식하도록 1,2,3 이런식으로 1인경우->프리미엄A 2인경우->프리미엄B 이렇게 구분하는 방식을 숫자나 코드로 치환해서 사용하시라고 말씀드리는 겁니다.

if ($item['wr_1'] == '1') { $item['wr_1'] = "프리미엄 A"; }
if ($item['wr_1'] == '2') { $item['wr_1'] = "프리미엄 B"; }
if ($item['wr_1'] == '3') { $item['wr_1'] = "무료등록"; }

이렇게 넣었더니 다중선택했을때 1,3 이렇게 불러오는데 스크립트로 짜야할까요?

정렬은 '가나다'순이고, desc 는 역순을 의미합니다.

desc 를 asc 로 변경하면 

( $board['bo_sort_field'] = 'wr_1 asc, wr_datetime desc'; )

무료 > 프리미엄 A > 프리미엄 B 순으로 나오게 됩니다.

 

프리미엄 A > 프리미엄 B > 무료 순으로 나오게 하려면.. 가나다순이 아니기 때문에 어렵습니다.

$board['bo_sort_field'] = 'field(wr_1, '프리미엄 A', '프리미엄 B', '무료'), wr_datetime desc';

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

회원로그인

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