글 번호 날짜순으로 정렬하기 정보
글 번호 날짜순으로 정렬하기관련링크
본문
게시판의 글 목록 순서가 날짜순이 아니고 뒤죽박죽일 경우
게시판 관리자에서 "리스트 정렬필드" 를 "wr_datetime desc : 날짜 최근것 부터" 로 설정하면
게시판 글 목록을 날짜순으로 출력할 수 있습니다.
하지만 DB Table 에서 직접적으로 wr_num 값을 날짜순서데로 변경해야할 경우가 있을 수 있습니다.
아래 코드는 이와같은 경우에 사용할 수 있으며 비상시를 대비하여 프로그램을 실행하기 전에 반드시 백업을 하시기 바랍니다.
이 코드를 이용하여 문제가 생길경우 그 책임은 코드 제작자가 아닌 사용자에게 있음을 알려드립니다.
사용방법
1. 이 코드를 적용할 게시판의 DB를 백업합니다.
2. 아래 코드를 이용하여 dbconfig.php 파일이 있는 디렉토리에 파일을 생성합니다.
3. bo_table 에 적용할 게시판의 bo_table 값을 입력합니다.
4. 사이트 관리자로 로그인 합니다.
5. 인터넷 창에서 조금 전에 생성한 파일을 호출합니다.
6. "완료되었습니다." 라는 메세지를 확인합니다.
7. 변경이 잘 되었는지 확인합니다.
<?
include_once("_common.php");
//////////////////////////////////////////////////
//
// 다시 정렬할 게시판을 입력해주세요.
//
$bo_table = "";
//////////////////////////////////////////////////
if ($is_admin != 'super') die("로그인 해주세요.");
if (!$bo_table) die("bo_table 값이 없습니다.");
$write_table = $g4[write_prefix].$bo_table;
$data = array();
$sql = "select wr_id, wr_num from {$write_table} where wr_is_comment=0 and wr_reply='' order by wr_datetime";
$qry = sql_query($sql);
while ($row = sql_fetch_array($qry)) $data[] = $row;
sql_query("update {$write_table} set wr_num = wr_num * -1");
$wr_num = 0;
foreach ($data as $row)
{
$wr_num--;
$row[wr_num] *= -1;
$sql = "update {$write_table} set wr_num = '{$wr_num}' where wr_num = '{$row[wr_num]}'";
echo "$sql<br>";
sql_query($sql);
}
echo "완료하였습니다.";
?>
고운 하루 보내세요.
3
댓글 12개
대부분 관리자가 해당 게시판의 리스트를 보고서야,
이동/복사를 통해 재등록된 게시물이라면,
대부분의 관리자가 해당 게시판의 리스트를 보고서야
그 정렬 형태를 인식할 수 있습니다.
따라서 원본과 같이 직접 게시판명을 기입하는 것 보다는,
해당 게시판에서 관리자 권한을 체크하여,
클릭 한번만으로 각각의 게시판에서 정렬시키는 것도,
사용자에게 편의성을 준다는 것도 충분히 검토해 봐야 할 것 같습니다.
http://www.sir.co.kr/bbs/tb.php/cm_free/208802/e51122a68d69b915fd92f767165211ce
대단히 감사합니다. 진실로..
이 작업을 수동으로 하느라 정말 힘들었어요.
게다가 사용방법도 문제없도록 세심하게...