웹마스터 팁
데이터 이전 후 list_order 조정
2013.04.07 00:10
제로보드4에서 xe로 데이터 이전 후에 최근게시물과 최근댓글의 순서가 엉망입니다.
조사해 보았더니 list_order 값이 자료 일련번호로 설정되어 있었습니다.
또 [데이터 들여오기]할 때 xe는 읽어오는 게시물에 일련번호를 할당하면서
list_order 값도 같은 값으로 할당하고 있었습니다.
데이터 들여오기 할 때 제로보드4의 등록일시(regdate)를 정확하게 가져왔는데
등록일시 순으로 list_order 값을 새로 설정해 주는 프로그램을 만들어 보았습니다.
다음은 댓글 테이블 xe_comments 에 대한 PHP 프로그램입니다.
echo "<p>";
echo "1. Comment 테이블의 list_order를 regdate 순으로 조정 <br />";
$query = "SELECT comment_srl FROM xe_comments where 1 ORDER BY regdate ASC";
$result = ecsql($query);
$total_record = mysql_num_rows($result);
echo " Comment total count = $total_record <br />";
for ($i=1; $i <= $total_record; $i++) {
$neworder = $i;
$row = mysql_fetch_object($result);
$srl = $row->comment_srl;
$query="UPDATE xe_comments SET list_order='$neworder' WHERE comment_srl='$srl'";
$res = ecsql($query);
}
for ($i=1; $i <= $total_record; $i++) {
$neworder = -$i;
$query="UPDATE xe_comments SET list_order='$neworder' WHERE list_order='$i'";
$res = ecsql($query);
}
echo "</p>";
SELECT 문에서는 테이블의 모든 자료를 등록일시 순으로 읽어 들입니다.
중간의 UPDATE 문에서는 위에서 읽어들인 순서대로 양의 정수를 list_order에 넣어 줍니다.
마지막의 UPDATE에서는 양의 정수로 입력된 list_order를 음의 정수를 변경해 줍니다.
이렇게 양의 정수를 넣었다가 음의 정수로 변경하는 이유는 입력중 list_order의 유일성때문입니다.
같은 방법으로
document 테이블의 list_order를 regdate 순으로 조정
document 테이블의 update_order를 last_update 순으로 조정
member 테이블의 list_order를 last_login 순으로 조정 해 주었습니다.
그 결과 최근댓글과 최근게시물이 정상적으로 출력되고 있습니다.
- [2017/02/10] 묻고답하기 스케치북 최근게시물 상단 탭 오른쪽 여백 없애기
- [2016/12/02] 묻고답하기 스케치북 최근게시물 새글(new) 표시 기간 연장 방법은?
- [2014/04/07] 묻고답하기 메인화면에 있는 최근게시물을 클릭하면 이동을 안합니다. 도움부탁드려요~ *1
- [2012/02/04] 묻고답하기 최근게시물 여러줄 추출에 관하여 질문 있습니다.
- [2011/10/31] 묻고답하기 최근 게시물을 메인페이지에 나오게 하고싶은데 안나오네요..
제목 | 글쓴이 | 날짜 |
---|---|---|
회원 순위 공동순위 표시해서 뽑기(원리만 소개) | 라르게덴 | 2009.02.13 |
주민등록번호 입력 폼 추가 (1.1.5 기준) [39] | 개돌 | 2009.02.16 |
TortoiseSVN에서 특정 리비전 영역만 추출하기 [1] | ◀CGlink▶ | 2009.02.19 |
IIS에서 XE 설치 시 FTP 정보 등록에서 오류 조치 [4] | impre | 2009.02.20 |
플래너 최근문서(위젯)에 카테고리색 적용, Dday 적용, 지난 일정 출력 여부 조절 [7] | 주상태 | 2009.02.21 |
20메가 업로드 용량제한에 대한 이야기 ^^ [9] | 만쓰별(정만) | 2009.02.22 |
textarea 에디터를 사용하는 리플에서 태그 막기 [2] | 老姜君 | 2009.02.22 |
확장변수전용 권한설정 게시판스킨 미권한자에게 출력 (''깜박''오류?) 보고 | 0su | 2009.02.25 |
테스트용 아이디 탈퇴 막기 [1] | SMaker | 2009.02.26 |
lighttpd 에서 XE rewrite 기능 (.htaccess) 사용하기 [2] | msl2246 | 2009.02.28 |
첨부파일의 외부 무단 링크 차단하기(XE) 게시판설정 [7] | 왕초보왕따 | 2009.03.02 |
윈도우, 리눅스, 맥서버에서 이슈트래커 동작가능하게 하기 [1] | 뽀여니 | 2009.03.02 |
2003 + RWAPM + faceOff + IE7 = rewrite mod 에러 | neotec | 2009.03.03 |
Smarty 한글 메뉴얼 공개합니다. [1] | 미니미 | 2009.03.04 |
이슈 트래커 소유자 변경 시 그룹별 선택 기능 | 개돌 | 2009.03.05 |
사진이 떳다 사라지는 문제 해결법 [2] | 현진 | 2009.03.07 |
게시판 가로사이즈 줄이기....[초보만 클릭] [4] | 유팔복 | 2009.03.07 |
svn 업으로 xe 최신본 유지하기 [2] | e~세상쉼터 | 2009.03.08 |
Faceoff 버젼에서 확장변수 마음대로 배치하기 ^^ | 파파민 | 2009.03.13 |
게시물 가운데 정렬 문제 임시해결법 | 한신일 | 2009.03.15 |
안녕하세요.
제로보드 게시판에서
wooildang 님 게시글을 보고 문의 드립니다.
제가 필요한 사항이랑 같은 부분을 해결해주셨는데 진행해보니 수행이 되지 않아
초면임에도 불구하고 메일 드립니다.
작성해주신 글은
http://www.xpressengine.com/tip/21844540
입니다.
저는 comment가 아니라 document의 정렬이 필요해서
게시글을 참조하여
<?
define('__XE__', true); require_once('./config/config.inc.php'); $oContext = &Context::getInstance(); $oContext->init(); $oDB=&DB::getInstance();
echo "<p>";
echo "1. Document 테이블의 list_order를 regdate 순으로 조정 <br />";
$query = "select document_srl from xe_documents where 1 order by regdate ASC";
$result = mysql_query($query);
$total_record = mysql_num_rows($result);
echo " Document total count = $total_record <br />";
for ($i=1; $i <= $total_record; $i++) {
$neworder = $i;
$row = mysql_fetch_object($result);
$srl = $row -> document_srl;
//echo " document_srl = $srl , $neworder <br />";
//$query= "update xe_documents set list_order='$neworder' where document_srl='$srl'";
//$result = mysql_query($query);
}
for ($i=1; $i <= $total_record; $i++) {
$neworder = -$i;
echo "$srl, -$i <br />";
//$query= "'update xe_documents set list_order='$neworder' WHERE list_order='$i'";
//$result = mysql_query($query);
}
echo "</p>";
?>
그런데
결과는
1. Document 테이블의 list_order를 regdate 순으로 조정
Document total count = 5782
이렇게만 뜨고 암것도 안나오고 게시물 순서도 안바뀌네요..
1. 게시글을 추출하여 다른 XE로 만든 홈페이지로 옮기다가 잘못하여 삭제를 하였고
2. 다시 옮겼던 홈페이지에서 추출해서 원래 게시판으로 가져왔는데
3. 당연히 order가 엉망이 되어 버렸습니다.
4. 날자 순으로 게시글의 order 순서를 update 하고 싶습니다.
비책을 알려주시면 정말 감사하겠습니다.
연락 기다리겠습니다.
감사합니다.