게시판 여분필드 체크 시 최신 고정
본문
안녕하세요
본 글 제목과 동일한 제목으로 이전에 글을 올렸습니다.
https://sir.kr/qa/483405?&vpage=1#answer_483501
위 글을 통해 이전 문제는 해결 했고 추가 질문이 있어서 다시 한번 글 남깁니다.
/bbs/list.php 파일에서,
if(!$sst)
$sst = "wr_num, wr_reply";
===>수정
if(!$sst){
if($bo_table=='해당게시판ID') $sst = "wr_1 desc, wr_num, wr_reply";
else $sst = "wr_num, wr_reply";
}
위와 같이 수정하니 맨 앞으로 고정은 되는데,
1순위 : wr_1 체크 한 게시물
2순위 : 날짜
이렇게 정렬이 되는 것 같습니다.
wr_1이 중복으로 체크가 되었을 경우 나중에 등록된 게시물이 위로 올라오고 있는 상태입니다.
wr_1이 체크된 게시물이 여러개일 경우 나중에 체크한 게시물이 더 최신으로 오게 하는 방법이 있을까요?
해결에 더 필요한 정보가 있다면 말씀해주세요
감사합니다.
!-->
답변 4
나중에 체크한 글이 먼저 나오게 하려면,
나중에 체크한 글의 wr_1 에 이전보다 더 높은 값을 저장해야 됩니다.
ex.
첫번째 '공지' 체크 : wr_1 값에 '1' 저장
두번째 '공지' 체크 : wr_1 값에 '2' 저장
세번째 '공지' 체크 : wr_1 값에 '3' 저장
=> order by wr_1 desc 에 의해, 세번째/두번째/첫번째 글 순으로 나옴.
그래서 이 방법을 사용하는 경우..
이전에 wr_1 값중 가장 높은 값을 찾은 후 +1 을 하여 저장하는 방법이 있습니다.
또는..
wr_1 에 현재시각 정보를 저장하는 방법이 있습니다. 나중에 체크한 것에 높은 값이 들어감
첫번째 '공지' 체크 : wr_1 값에 '20221217183005' 저장 (22년 12월 17일 18시 30분 5초)
두번째 '공지' 체크 : wr_1 값에 '20221218184005' 저장 (22년 12월 18일 18시 40분 5초)
세번째 '공지' 체크 : wr_1 값에 '20221217185005' 저장
* write_update.head.skin.php
if ($w == '' && $wr_1)
$wr_1 = date('YmdHis');
기본 순서는 desc 와 asc 가 있습니다.
질문자님은 나중에 체크한 게시물이 더 최신으로 오게 하고싶으신거자나요
그러면 나중에 체크한게 몬지를 구분해야됩니다.
기본 보드라면 wr_last가 최신 저장 시간입니다.
댓글이나 수정이 들어가면 wr_last가 변경되기 때문에
wr_2 를 미사용중이시라면 wr_1을 체크하실때 wr_2에는 저장시간을 넣어주시는 소스를 추가하시고
wr_1 desc, wr_2 desc (늦게 누를수록 최신시간이 저장되겠죠?) 를 넣어주시면 될거 같네요
나중에 체크한다는말은 수정할때 체크한다는거잖아요?
그러면 수정할때 write_update.skin.php 생성해서 wr_datetime를 G5_TIME_YMDHIS현시점으로 업데이트해버리면됩니다.
wr_num 가 등록의 역순이라서..
원하시는대로 나오고 있을텐데요??