목록번호를 가상번호로 바꾸는방법입니다. 정보
그누호환 목록번호를 가상번호로 바꾸는방법입니다.본문
안녕하세요~ 조그만팁하나 알려드리옵니다...
그누보드에서는 목록번호를 생성할때 DB에 저장된 wr_num 을 이용해 그대로 출력해주는데
이경우에는 글이 하나 삭제가 되면 393/392/391/delete/389 이렇게 지워진번호가 390이 안되고 그대로 다음 wr_num을 읽어서 출력되는 문제(문제는 아니지만 보기가 않좋아서~^^)가 생겨서 오늘 급히 가상번호로 바꾸어봤습니다.
아직 테스트는 많이 하진 않았지만 사용하는데는 문제가 없어보여 이 작은팁을 올려봅니다.
문제점이 발생하거나 버그가 보이시면 [ 댓글 ]달아주시기 바랍니다.
-----------------------------------------------------------------------------------------
다음은 수정할 사항에 대해서 알려드리겠습니다.
bbs/gb_list.php
에디터로 여신후에 90번 라인다음줄에 아래의 코드를 삽입합니다...
$save_wr_num = $save_wr_notice = 0; //90 라인 바로밑에...
아래의 코드를 복사하여 추가하세요.
//--------------------------- [ 1 ] --------------------------------
$Num_Count=$total_count;
if($page!=1){
$Num_Count=$Num_Count-($board[board_page_rows]*($page-1));
}
//--------------------------- [ 1 ] --------------------------------
다음은 바로 아래부분에 보면은 아래와 같은 코드에 // 추가하세요 란 코드만 집어넣어주시거나
통채로 이코드를 교체해주시기 바랍니다.
-----------------------------------[ 2 ]---------------------------------------
for ($i=0; $row=mysql_fetch_array($result); $i++) {
$tr = "";
if ($i && $i%$board[board_gallery_width]==0) {
$tr = "</tr><tr>";
}
$check_for_reply=0; // 이라인을 추가하세요!!!
if ('' != $stext) {
$row = sql_fetch(" select * from $write_table where wr_id = '$row[wr_parent_id]' and wr_comment = '0' ");
if($row[wr_reply]) $check_for_reply=1; // 이라인을 추가하세요!!!
else $check_for_reply=0; // 이라인을 추가하세요!!!
$subject = conv_subject($row[wr_subject], $board[board_subject_len], "…");
} else {
if($row[wr_reply]) $check_for_reply=1; // 이라인을 추가하세요!!!
else $check_for_reply=0;// 이라인을 추가하세요!!!
$subject = cut_str($row[wr_subject], $board[board_subject_len], "…");
$subject = get_text($subject);
}
------------------------------------[ 2 ] -------------------------------
3번째 코드도 밑에 내려가시면 아래와 같은 코드가 보이십니다.
그곳에 추가하세요!!!! 라는 주석부분을 또 추가하세요
------------------------------------[ 3 ] ---------------------------------
// 3.25
// 목록에서 내용 미리보기 사용한 게시판만 내용을 변환함 (속도 향상) : kkal3(커피)님께서 알려주셨습니다.
if ($board[board_use_listcontent])
$list[$i][content] = conv_content($row[wr_content], $row[wr_html]);
$list[$i][is_notice] = false;
if ($row[wr_notice] == -1) {
$Num_Count--; //4월 1일 오후 9:36분 이전에 패치하신분은 추가해주세요 ;;
$list[$i][num] = "공지";
$list[$i][is_notice] = true;
} else if ($save_wr_num != $row[wr_num] || $save_wr_notice != $row[wr_notice]) {
if($check_for_reply) $list[$i][num] = $Num_Count;//$row[wr_num] * -1; //추가하세요!!!!
else $list[$i][num] = $Num_Count--; // 추가하세요!!!
} else {
$list[$i][num] = " ";
}
----------------------------------------[ 3 ] -------------------------------
마지막으로 아래의 코드도 밑으로 좀만 내려가시면 나옵니다.
그부분에다가 추가하세요 란부분만 추가하세요
---------------------------------------[ 4 ] --------------------------------
$list[$i][reply] = "";
if (strlen($row[wr_reply]) > 0) {
if($wr_id!=$row[wr_id]) $list[$i][num]=$Num_Count--;
else{
$list[$i][num]="<font color=crimson><b>→</b></font>";
$Num_Count--;
}
for ($k=0; $k<strlen($row[wr_reply]); $k++) {
$list[$i][reply] .= " ";
}
}
----------------------------------[ 4 ]---------------------------------
이로써 간단하게나마 가상번호를 게시판에 달수있게되었습니다.
아직 미흡하지만 그런대로 쓸만하여 올리니 이문제점에 골머리를 앓고계셨던 분들께
도움이 되었으면 좋겠습니다...
혹~ 빠진부분이 있을수있으니 반드시 원본은 백업을 하신후에 수정하여 사용해보시기 바랍니다.
그누보드에서는 목록번호를 생성할때 DB에 저장된 wr_num 을 이용해 그대로 출력해주는데
이경우에는 글이 하나 삭제가 되면 393/392/391/delete/389 이렇게 지워진번호가 390이 안되고 그대로 다음 wr_num을 읽어서 출력되는 문제(문제는 아니지만 보기가 않좋아서~^^)가 생겨서 오늘 급히 가상번호로 바꾸어봤습니다.
아직 테스트는 많이 하진 않았지만 사용하는데는 문제가 없어보여 이 작은팁을 올려봅니다.
문제점이 발생하거나 버그가 보이시면 [ 댓글 ]달아주시기 바랍니다.
-----------------------------------------------------------------------------------------
다음은 수정할 사항에 대해서 알려드리겠습니다.
bbs/gb_list.php
에디터로 여신후에 90번 라인다음줄에 아래의 코드를 삽입합니다...
$save_wr_num = $save_wr_notice = 0; //90 라인 바로밑에...
아래의 코드를 복사하여 추가하세요.
//--------------------------- [ 1 ] --------------------------------
$Num_Count=$total_count;
if($page!=1){
$Num_Count=$Num_Count-($board[board_page_rows]*($page-1));
}
//--------------------------- [ 1 ] --------------------------------
다음은 바로 아래부분에 보면은 아래와 같은 코드에 // 추가하세요 란 코드만 집어넣어주시거나
통채로 이코드를 교체해주시기 바랍니다.
-----------------------------------[ 2 ]---------------------------------------
for ($i=0; $row=mysql_fetch_array($result); $i++) {
$tr = "";
if ($i && $i%$board[board_gallery_width]==0) {
$tr = "</tr><tr>";
}
$check_for_reply=0; // 이라인을 추가하세요!!!
if ('' != $stext) {
$row = sql_fetch(" select * from $write_table where wr_id = '$row[wr_parent_id]' and wr_comment = '0' ");
if($row[wr_reply]) $check_for_reply=1; // 이라인을 추가하세요!!!
else $check_for_reply=0; // 이라인을 추가하세요!!!
$subject = conv_subject($row[wr_subject], $board[board_subject_len], "…");
} else {
if($row[wr_reply]) $check_for_reply=1; // 이라인을 추가하세요!!!
else $check_for_reply=0;// 이라인을 추가하세요!!!
$subject = cut_str($row[wr_subject], $board[board_subject_len], "…");
$subject = get_text($subject);
}
------------------------------------[ 2 ] -------------------------------
3번째 코드도 밑에 내려가시면 아래와 같은 코드가 보이십니다.
그곳에 추가하세요!!!! 라는 주석부분을 또 추가하세요
------------------------------------[ 3 ] ---------------------------------
// 3.25
// 목록에서 내용 미리보기 사용한 게시판만 내용을 변환함 (속도 향상) : kkal3(커피)님께서 알려주셨습니다.
if ($board[board_use_listcontent])
$list[$i][content] = conv_content($row[wr_content], $row[wr_html]);
$list[$i][is_notice] = false;
if ($row[wr_notice] == -1) {
$Num_Count--; //4월 1일 오후 9:36분 이전에 패치하신분은 추가해주세요 ;;
$list[$i][num] = "공지";
$list[$i][is_notice] = true;
} else if ($save_wr_num != $row[wr_num] || $save_wr_notice != $row[wr_notice]) {
if($check_for_reply) $list[$i][num] = $Num_Count;//$row[wr_num] * -1; //추가하세요!!!!
else $list[$i][num] = $Num_Count--; // 추가하세요!!!
} else {
$list[$i][num] = " ";
}
----------------------------------------[ 3 ] -------------------------------
마지막으로 아래의 코드도 밑으로 좀만 내려가시면 나옵니다.
그부분에다가 추가하세요 란부분만 추가하세요
---------------------------------------[ 4 ] --------------------------------
$list[$i][reply] = "";
if (strlen($row[wr_reply]) > 0) {
if($wr_id!=$row[wr_id]) $list[$i][num]=$Num_Count--;
else{
$list[$i][num]="<font color=crimson><b>→</b></font>";
$Num_Count--;
}
for ($k=0; $k<strlen($row[wr_reply]); $k++) {
$list[$i][reply] .= " ";
}
}
----------------------------------[ 4 ]---------------------------------
이로써 간단하게나마 가상번호를 게시판에 달수있게되었습니다.
아직 미흡하지만 그런대로 쓸만하여 올리니 이문제점에 골머리를 앓고계셨던 분들께
도움이 되었으면 좋겠습니다...
혹~ 빠진부분이 있을수있으니 반드시 원본은 백업을 하신후에 수정하여 사용해보시기 바랍니다.
추천
0
0
댓글 전체
좋은 소스 감사합니다.
그런데 저도 위의 유자님 같은 현상이 생깁니다.
즉, 첫 페이지의 번호가 100~90 번까지 있다면, 두번재 페이지를 가도 100~90번, 셋째 페이지를 가도 100~90,
모든 페이지가 100~90번입니다.
마지막 페이지를 가도 100~90번이더군요.ㅡㅡ;;
아무 소스도 추가하거나 하지 않았고, 위의 소스만을 추가했습니다.
이유가 무엇인지 굼금하네요.
그런데 저도 위의 유자님 같은 현상이 생깁니다.
즉, 첫 페이지의 번호가 100~90 번까지 있다면, 두번재 페이지를 가도 100~90번, 셋째 페이지를 가도 100~90,
모든 페이지가 100~90번입니다.
마지막 페이지를 가도 100~90번이더군요.ㅡㅡ;;
아무 소스도 추가하거나 하지 않았고, 위의 소스만을 추가했습니다.
이유가 무엇인지 굼금하네요.
좋은 자료 감사 합니다.
정말 골머리가 해결이 되는 것 같습니다.
수고하셨습니다. 잘 적용하겠습니다.
수고하셨습니다. 잘 적용하겠습니다.
네모똘님의 궁금증을 해결하려다 발견한 버그입니다.
가상번호패치를 하여 사용하신분들중에서 공지사항을 입력하면
숫자가 6 5 4 3 2 1로 끝나지 않고 6 5 4 3 2 에서끝나는분들께선 3번코드를 다시 확인하여 수정해주시기 바랍니다.
공지사항 체크할때 $Num_Count 번호를 한개 빼주시면 해결이 가능합니다. 헛,, 아찔 --;
가상번호패치를 하여 사용하신분들중에서 공지사항을 입력하면
숫자가 6 5 4 3 2 1로 끝나지 않고 6 5 4 3 2 에서끝나는분들께선 3번코드를 다시 확인하여 수정해주시기 바랍니다.
공지사항 체크할때 $Num_Count 번호를 한개 빼주시면 해결이 가능합니다. 헛,, 아찔 --;
유자님 말씀 잘보았습니다.
그런데 저는 그런현상이 나타나지 않는거 같습니다.
좀더 구체적인 실험방법좀 알려주셨으면 좋겠습니다.
그런데 저는 그런현상이 나타나지 않는거 같습니다.
좀더 구체적인 실험방법좀 알려주셨으면 좋겠습니다.
소스 잘 보았습니다..
저만 그런지 모르겠네요.. 답변글을 2개이상 달면 글번호가 -1 -2 이런식으로 되는 문제가 있는것 같습니다.
저만 그런지 모르겠네요.. 답변글을 2개이상 달면 글번호가 -1 -2 이런식으로 되는 문제가 있는것 같습니다.
임규석님// 수정하였습니다. 한번적용해보시기바랍니다.
소스는 4번을 그대로 다시 수정하시면 됩니다.
이소스는 수정하실때 소스의 위치를 정확하게 파악하신후 수정을 권합니다.
답변글 가상번호 버그의 수정된 내용
if (strlen($row[wr_reply]) > 0) {
if($wr_id!=$row[wr_id]) $list[$i][num]=$Num_Count--;
else{
$list[$i][num]="<font color=crimson><b>→</b></font>";
$Num_Count--;
}
for ($k=0; $k<strlen($row[wr_reply]); $k++) {
$list[$i][reply] .= " ";
}
}
소스는 4번을 그대로 다시 수정하시면 됩니다.
이소스는 수정하실때 소스의 위치를 정확하게 파악하신후 수정을 권합니다.
답변글 가상번호 버그의 수정된 내용
if (strlen($row[wr_reply]) > 0) {
if($wr_id!=$row[wr_id]) $list[$i][num]=$Num_Count--;
else{
$list[$i][num]="<font color=crimson><b>→</b></font>";
$Num_Count--;
}
for ($k=0; $k<strlen($row[wr_reply]); $k++) {
$list[$i][reply] .= " ";
}
}
네...방금 테스트 해 봤는데 잘 되네요...^^
^^ 감사히 잘 쓰겠습니다...
^^ 감사히 잘 쓰겠습니다...
궁금사항 입니다.
게시판 글번호로 링크를 걸어서 다른곳에 글쓰기를 한 후에
원 게시판에서 글 몇개를 삭제했을 경우 가상번호라서 삭제와 상관없이 원래의 글번호가 나오는지..
아니면 가상번호의 글번호가 나오는지 궁금합니다.
게시판 글번호로 링크를 걸어서 다른곳에 글쓰기를 한 후에
원 게시판에서 글 몇개를 삭제했을 경우 가상번호라서 삭제와 상관없이 원래의 글번호가 나오는지..
아니면 가상번호의 글번호가 나오는지 궁금합니다.
가상번호는 단지 리스트스킨에서 사용하는 하나의 변수일뿐입니다.
그리고 리스트외 다른 내부적인 동작들은 실제 디비에 입력된 번호들로 처리를 하게됩니다.
그리고 리스트외 다른 내부적인 동작들은 실제 디비에 입력된 번호들로 처리를 하게됩니다.
즉 리스트목록에서 No 의 변수는 $list[$i][num] 으로 처리를 하죠
그리고 삭제/작성/모두삭제/검색등등은 그누보드가 $list[$i][wr_id] 로 처리를 하게되있답니다.
$list[$i][num]은 보여지기만 하는 변수이므로 다른 작동에는 큰지장을 주지 않습니다.
그리고 삭제/작성/모두삭제/검색등등은 그누보드가 $list[$i][wr_id] 로 처리를 하게되있답니다.
$list[$i][num]은 보여지기만 하는 변수이므로 다른 작동에는 큰지장을 주지 않습니다.
별이좋아님과 유자님과 같은 현상이 저에게도 나타났고 원인은 버젼이 바뀜에 따라 테이블의 스키마명이 달라져서 생긴 현상인듯 싶더군요...
위에 [1]번 수정부분을
//--------------------------- [ 1 ] --------------------------------
$Num_Count=$total_count;
if($page!=1){
$Num_Count=$Num_Count-($board[bo_page_rows]*($page-1)); //$board[board_page_rows]를 $board[bo_page_rows]로 수정
}
//--------------------------- [ 1 ] --------------------------------
와 같이 수정하면 해결되더군요...
기존에 $board[board_page_rows]로 넘어왔던 한 페이지당 보여지는 목록의 수가 버젼이 업됨에 따라
$board[bo_page_rows]로 변경되었기때문에 발생되었던 현상압니다.
마지막으로 유용하고 좋은 소스 주신 최장민님께 감사...^^
위에 [1]번 수정부분을
//--------------------------- [ 1 ] --------------------------------
$Num_Count=$total_count;
if($page!=1){
$Num_Count=$Num_Count-($board[bo_page_rows]*($page-1)); //$board[board_page_rows]를 $board[bo_page_rows]로 수정
}
//--------------------------- [ 1 ] --------------------------------
와 같이 수정하면 해결되더군요...
기존에 $board[board_page_rows]로 넘어왔던 한 페이지당 보여지는 목록의 수가 버젼이 업됨에 따라
$board[bo_page_rows]로 변경되었기때문에 발생되었던 현상압니다.
마지막으로 유용하고 좋은 소스 주신 최장민님께 감사...^^