리스트 정렬 필드를 여분필드값 기준으로 정렬하는 방법 > 그누보드 게시판스킨 강좌

본문 바로가기
전체검색

그누스킨닷컴

그누보드 게시판스킨 강좌

그누보드 영카트 초보 사용자를 위한 기본 매뉴얼, 스킨 제작 기초강좌를 공유합니다.

리스트 정렬 필드를 여분필드값 기준으로 정렬하는 방법

페이지 정보

작성자 관리자 작성일17-09-14 02:42 조회1,196회

본문

cc46ae4983a409d2eb321da33c6c7c1f_1505324929_7316.png
 

 

게시판 설정에 있는 여러 기능 중에 리스트 정렬 필드 선택 옵션이 있습니다.

해당 옵션을 보면 여러 항목들로 선택해서 변경할 수가 있는데 정말 다양하게 있죠.

근데 아쉽게도 여분 필드는 없네요.

 

리스트를 여분 필드값 기준으로 정렬하고 싶을 때 추가하는 방법입니다.

 

수정 파일 : adm/board_form.php

 

파일 내용 중에 다음과 같은 부분이 있을 겁니다.

 

<select id="bo_sort_field" name="bo_sort_field">

    <option value="" <?php echo get_selected($board['bo_sort_field'], ""); ?>>wr_num, wr_reply : 기본</option>

    <option value="wr_datetime asc" <?php echo get_selected($board['bo_sort_field'], "wr_datetime asc"); ?>>wr_datetime asc : 날짜 이전것 부터</option>

    <option value="wr_datetime desc" <?php echo get_selected($board['bo_sort_field'], "wr_datetime desc"); ?>>wr_datetime desc : 날짜 최근것 부터</option>

    .......................................

    .......................................

 

 

저기에 여분 필드값 정렬 옵션도 이렇게 끼워 넣습니다.

 

<option value="wr_1 asc" <?php echo get_selected($board['bo_sort_field'], "wr_1 asc"); ?>>wr_1 asc : wr_1 오름차순</option>

<option value="wr_1 desc" <?php echo get_selected($board['bo_sort_field'], "wr_1 desc"); ?>>wr_1 desc : wr_1 내림차순</option>

 

 

수정 후 다시 게시판 설정에서 추가한 옵션으로 선택합니다.

 

cc46ae4983a409d2eb321da33c6c7c1f_1505320101_517.gif

 

 

게시판 목록으로 가서 정렬이 잘 되었는지 확인합니다. 

 

cc46ae4983a409d2eb321da33c6c7c1f_1505320367_6024.gif
 

근데 이상하네요? 15 - 30 - 255 - 350 이런 순서대로 나와야 하는데 말이죠.

왜 이런 현상이 발생하냐면 여분 필드 데이터 타입이 전부 문자형이라서 그렇습니다.

해당 문제를 해결하기 위해 처음에 수정했었던 다음 부분에서 필드명 뒤에 +0 을 붙여줍니다.

 

<option value="wr_1+0 asc" <?php echo get_selected($board['bo_sort_field'], "wr_1+0 asc"); ?>>wr_1 asc : wr_1 오름차순</option>

<option value="wr_1+0 desc" <?php echo get_selected($board['bo_sort_field'], "wr_1+0 desc"); ?>>wr_1 desc : wr_1 내림차순</option>

 

참고 : https://sir.kr/g4_tiptech/1453

 

수정 후 게시판 설정에서 한 번 더 선택한 후에 다시 확인합니다.

 

cc46ae4983a409d2eb321da33c6c7c1f_1505323912_0791.gif 

 

이제 원하는 형태로 정렬되었네요.

 

 

## 추가 내용 ##

 

목록 타이틀에서 클릭했을 때 정렬하는 방법입니다.

 

992d3d7a002bca7f8c7578562b29982c_1505366295_8981.gif

 

예를 들어 순위 글자를 클릭했을 때 정렬을 바꾸는 방법이죠.

 

수정 파일1 : 게시판 스킨 list.skin.php

 

타이틀 부분을 이렇게 변경합니다.

<th scope="col"><?php echo subject_sort_link('wr_1', $qstr2, 1) ?>순위</a></th>

 

수정 파일2 : bbs/list.php

 

아래 부분에 wr_1 을 추가합니다.

$sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood|wr_1)$/i", $sst) ? $sst : "";

 

수정하고 확인하면 처음에 말했던 것처럼 문자형이라서 정렬이 안 맞을 겁니다.

여기도 마찬가지 방법으로 수정합니다.

 

list.php 파일에서 위 내용 좀 더 아래에 있는 sql_order 부분을 이렇게 변경합니다.

 

if ($sst) {

    if ($sst == 'wr_1') {

        $sql_order = " order by wr_1+0 {$sod} ";

    } else {

        $sql_order = " order by {$sst} {$sod} ";

    }

}

 

수정 후 정렬이 맞는지 클릭해보면서 다시 확인

커뮤니티는 당분간 중단하겠습니다.
그누보드 게시판스킨 강좌 목록
번호 제목
공지 게시판 스킨 강좌 공지사항입니다.
84 게시판 목록 페이지에 수정 삭제 버튼 출력 새글
83 특정 게시판 제목 필수 입력 해제하기
82 게시판에 등록된 글 삭제시 관리자에게 SMS 문자 발송하기
81 첨부 파일을 다운로드하면 자동으로 추천하기
80 비추천 개수가 일정수 이상이면 게시글 삭제하기
79 게시판 목록에서 각종 아이콘 출력 부분을 이미지로 변경
78 이메일 주소 직접입력과 특정 도메인을 선택해서 입력
77 게시판에 글 등록시 관리자에게 SMS 문자 발송하기
76 특정 회원만 게시판 내용을 볼 수 있게 아이디를 지정해서 글 등록하기
75 댓글 쓰기 권한이 없는 비회원도 입력 폼은 보이게 처리
74 게시판 목록에 다운로드수, 다운로드 포인트 출력
73 댓글 목록 회원만 공개하고 비회원은 비공개, 권한별로 설정
72 비밀글 댓글 작성시 작성자 별표 처리
71 게시물 수정시 등록 날짜를 현재 시간으로 업데이트
70 글쓰기 페이지에 개인정보수집이용 동의 체크박스 추가하기
69 스크랩 버튼 비회원에게도 노출시키기 댓글1
68 댓글 목록에서 내가 작성한 글만 출력하기
67 갤러리형 게시판에서 첨부된 사진이 없을 때 no image를 이미지로 출력
66 게시판 스킨을 분류별로 각각 다르게 설정했을 때 스킨 수정 안내
65 패스워드 지정 비밀글 게시판 만들기
64 링크 입력 특정 게시판에서만 삭제하기
63 목록 페이지에 특정 이미지 원본 선택해서 출력하기
62 게시판 스킨 제작할 때 이미지 경로 설정 방법
61 모바일 내용 관리 페이지에서 상단 하단 파일을 별도로 관리하는 방법
60 비밀글 체크박스 디폴트 값을 체크 상태로 설정하기
59 게시판 설정에 있는 여분 필드 사용 예제
58 글쓰기 페이지에서 링크 입력 문구 변경하기
57 목록에서 tr 배경색 구분
56 첨부파일 등록할 때 원하는 곳에 따로따로 입력하기
55 글쓰기 페이지에서 첨부 파일 문구를 각각 다르게 출력
54 게시판 글 번호 역순으로 정렬 1번부터 시작
53 [그누보드5.3] 게시판에 회원 이미지 출력하는 방법
52 유튜브 동영상 API 썸네일 이미지 자동 출력 댓글1
51 댓글 바로가기 링크 주소 얻기 댓글1
50 게시판 목록에서 첨부 파일 다운받기
49 목록페이지 상단에 내글 보기 버튼 생성
48 목록에서 첨부파일 아이콘 출력할 때 이미지 파일은 구분해서 출력
47 게시판 글쓰기 버튼 항상 보이게 처리
46 여분필드를 활용한 게시판 스킨 제작 - 댓글 쓰기 페이지에 적용하는 방법
게시물 검색


그누스터디는 그누보드, 영카트 초보 사용자를 위한 정보를 공유합니다.

Copyright © GNUSTUDY. All rights reserved.
상단으로