1. /bbs/list_num_update.php 생성
* Mysql DB 의 데이터베이스 이름하고 접두사를 잘 확인할것(g5_XXXX)
<?php
include_once('./_common.php');
// 게시판 관리자 이상 복사, 이동 가능
if ($is_admin != "board" && $is_admin != "group" && $is_admin != "super")
alert_close("게시판 관리자 이상 접근이 가능합니다.");
$wr_id=$_POST[chk_wr_id][0];
if($_POST[chk_wr_id][1]) $wr_id2=$_POST[chk_wr_id][1];
if($sw=="change"){
if(count($_POST[chk_wr_id])==2){
$act = "순서변경";
$sql = " select wr_num from g5_write_{$bo_table} where wr_id='$wr_id'"; //절대값이 높은(위쪽) wr_num값을 구한다.
$result = sql_query($sql);
$forth_wr_num_array=sql_fetch_array($result);
$wr_id;
$forth_wr_num = $forth_wr_num_array['wr_num']; //절대값이 높은 wr_num값
$sql = " select wr_num from g5_write_{$bo_table} where wr_id='$wr_id2'"; //절대값이 낮은(아래쪽) wr_num값을 구한다.
$result = sql_query($sql);
$back_wr_num_array=sql_fetch_array($result);
$wr_id2;
$back_wr_num = $back_wr_num_array['wr_num']; //절대값이 낮은 wr_num값
sql_query(" update g5_write_{$bo_table} set wr_num = '$back_wr_num' where wr_id = '$wr_id'"); //위쪽 게시물 wr_num을 아래쪽 wr_num으로 수정
sql_query(" update g5_write_{$bo_table} set wr_num = '$forth_wr_num' where wr_id = '$wr_id2'"); //아래쪽 게시물 wr_num을 위쪽 wr_num으로 수정
}else{
alert_close("2개의 게시물을 선택해주세요.");
}
}else if($sw == "prev"){
if(count($_POST[chk_wr_id])>=2){alert_close("1개의 게시물만 선택해주세요."); }
$act = "앞으로 이동";
$sql = " select wr_num from g5_write_{$bo_table} where wr_id='$wr_id'"; //선택된 wr_num값을 구한다.
$result = sql_query($sql);
$selected_wr_num_array=sql_fetch_array($result);
$selected_wr_num = $selected_wr_num_array['wr_num']; //선택된 wr_num값
if($selected_wr_num=='-1') alert_close("가장 앞선 게시물입니다.");
$prev_wr_num = $selected_wr_num+1; //앞의 wr_num 값
$sql = " select wr_id from g5_write_{$bo_table} where wr_num='{$prev_wr_num}'"; //앞의 wr_num값을 갖는 wr_id를 구한다.
$result = sql_query($sql);
$prev_wr_id_array=sql_fetch_array($result);
$prev_wr_id = $prev_wr_id_array['wr_id']; //앞의 wr_id 값
sql_query(" update g5_write_{$bo_table} set wr_num = '$prev_wr_num' where wr_id = '$wr_id'"); //선택된 게시물을 앞번으로 수정
sql_query(" update g5_write_{$bo_table} set wr_num = '$selected_wr_num' where wr_id = '$prev_wr_id'"); //앞번 게시물을 선택된번으로 수정
}else if ($sw == "next") {
if(count($_POST[chk_wr_id])>=2){alert_close("1개의 게시물만 선택해주세요."); }
$act = "뒤로 이동";
$sql = " select wr_num from g5_write_{$bo_table} where wr_id='$wr_id'"; //선택된 wr_num값을 구한다.
$result = sql_query($sql);
$selected_wr_num_array=sql_fetch_array($result);
$selected_wr_num = $selected_wr_num_array['wr_num']; //선택된 wr_num값
$latest_wr_num_array = sql_fetch(" select min(wr_num) as latest from g5_write_{$bo_table} where 1");
if($selected_wr_num == $latest_wr_num_array['latest']) alert_close("가장 뒤선 게시물입니다.");
$next_wr_num = $selected_wr_num-1; //뒤의 wr_num 값
$sql = " select wr_id from g5_write_{$bo_table} where wr_num='{$next_wr_num}'"; //뒤의 wr_num값을 갖는 wr_id를 구한다.
$result = sql_query($sql);
$next_wr_id_array=sql_fetch_array($result);
$next_wr_id = $next_wr_id_array['wr_id']; //뒤의 wr_id 값
sql_query(" update g5_write_{$bo_table} set wr_num = '$next_wr_num' where wr_id = '$wr_id'"); //선택된 게시물을 뒷번으로 수정
sql_query(" update g5_write_{$bo_table} set wr_num = '$selected_wr_num' where wr_id = '$next_wr_id'"); //뒷번 게시물을 선택된번으로 수정
}else {
alert("수행 값이 제대로 넘어오지 않았습니다.");
}
$msg = "순서변경완료!";
$opener_href = "./board.php?bo_table=$bo_table&page=$page&$qstr";
?>
<script language="javascript">
//alert("<?php echo $msg?>");
opener.document.location.href = "<?php echo $opener_href?>";
window.close();
</script>
2. 게시판 테마 리스트 파일 수정( /skin/board/boardtheme/list.skin.php)
2-1 하단에 아래 코드 추가(스크립트 영역)
function list_changer(sw)
{
/*
var chk_count = 0;
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
chk_count++;
}
if (!chk_count) {
alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
return false;
}
*/
var f = document.fboardlist;
var sub_win = window.open("", "move", "width=0, height=0, scrollbars=1");
f.sw.value = sw;
f.target = "move";
f.action = "./list_num_update.php";
f.submit();
}
2-2 위치 변경 버튼 추가
<li><a href="javascript:list_changer('prev');" >위로 이동</a></li>
<li><a href="javascript:list_changer('change');" >상호 변경</a> </li>
<li><a href="javascript:list_changer('next');" >아래로 이동</a> </li>
'공부 > Gnuboard' 카테고리의 다른 글
[그누보드] 테마 헤드/테일 적용된 별도 페이지(php) 생성하기 (0) | 2020.03.05 |
---|---|
[그누보드] 에러 로그 찍기 (0) | 2020.02.13 |
[그누보드] AJAX 활용 게시판 무한스크롤 기능 구현 (0) | 2019.12.31 |
[그누보드] 홈페이지 통째로 복사하기 (1) | 2019.12.01 |
[그누보드] 게시판에 iframe 으로 네이버영상 안나올시에 조치 (0) | 2019.11.24 |