채택완료

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

Copy
<?
$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 파일에

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

 

 

 

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

 

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

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

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

 

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

 

답변 2개 / 댓글 4개

채택된 답변
+20 포인트

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

답변에 대한 댓글 3개

아ㅜㅜ 조금더 자세히 알려주실수 있을까요? 제 생각대로 작업했더니
다중선택했을때 값을 못불러와서요ㅜㅜㅜ
그러니까 코드를 프리미엄 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';

답변에 대한 댓글 1개

감사합니다^^ 개념도 모르고 접근하고 있었네용

답변을 작성하려면 로그인이 필요합니다.