📖
그누보드5 게시판 리스트(목록)에서 게시글 순서 변경

페이지 정보

본문

1. [스킨 디렉토리]/list.skin.php 파일에 다음 코드 추가

1) 제목 출력 부분에 다음코드 추가[code]<?php if ($is_admin && !$list[$i]['is_notice'] && !$list[$i]['wr_reply']) { ?>                                           
    <input type="text" name="wr_num" size="6" maxlength="10" value="<?php echo $list[$i]['wr_num'] * -1 ?>" data-org="<?php echo $list[$i]['wr_num'] * -1 ?>">
    <button type="button" class="btn_go">Go</button>                                           
<?php } ?>[/code]
2) 자바 스크립트 부분 하단에 다음 코드 추가[code]$('input[name="wr_num"]').on('focus', function() {
    $(this).select();
});
$('.btn_go').on('click', function() {
    let p_bo_table = '<?php echo $bo_table ?>';
    let p_wr_num_org = Number($(this).prev().data('org'));
    let p_wr_num = Number($(this).prev().val());
    if (isNaN(p_wr_num)) {
        alert('숫자만 입력해 주세요.');
        return false;
    }
    if (p_wr_num_org == p_wr_num) {
        return false;
    }
    if (p_wr_num < 1) {
        alert('0 보다 큰 숫자를 입력해 주세요.');
        return false;
    }
    if (!confirm(p_wr_num + '번 게시글 다음 순서로 이동시키겠습니까?'))
        return false;
    $.ajax({
        url: '<?php echo $board_skin_url ?>/ajax.num_change.php',
        type: 'POST',
        context: this,
        data: {bo_table : p_bo_table, wr_num_org : p_wr_num_org, wr_num : p_wr_num},
        success: function(data) {           
            if (data == 'OK') {
                location.reload();
            } else if (data == 'Error3') {
                alert('없는 게시글 번호 입니다.');
                $(this).prev().val(p_wr_num_org);
            } else  {
                alert(data);
            }
        }
    });
});[/code]
2. [스킨 디렉토리]/ajax.num_change.php 파일 생성[code]<?php
$path = '';
for ($i = 0; $i < 7; $i++) {
    if (file_exists($path . 'common.php'))
        break;
    if (realpath($path) == '/')
        break;
    $path .= '../';
}
include_once($path . 'common.php');
if (!$bo_table || !$wr_num_org || !$wr_num)
    die('Error1');
if ($wr_num_org == $wr_num)
    die('Error2');
$write_table = $g5['write_prefix'] . $bo_table;
$wr_num = $wr_num * -1;
$wr_num_org = $wr_num_org * -1;
// 1) 이동 '고유번호(wr_num)' 존재 여부 체크
$sql = "select count(*) as cnt from {$write_table} where wr_num = '{$wr_num}' and wr_is_comment = 0";
$row = sql_fetch($sql);
if ($row['cnt'] == 0)
    die('Error3');
// 2) 원 게시글의 고유번호를 (임시) '0' 으로 업데이트
$sql = "update {$write_table} set wr_num = '0' where wr_num = '{$wr_num_org}'";
$result_1 = sql_query($sql);
// 3) 관련 이동 대상 게시글들 고유번호 업데이트
if ($wr_num > $wr_num_org) {
    $sql = "update {$write_table} set wr_num = wr_num - 1 where wr_num <= '{$wr_num}' and wr_num > '{$wr_num_org}'";
} else if ($wr_num < $wr_num_org) {
    $sql = "update {$write_table} set wr_num = wr_num + 1 where wr_num > '{$wr_num}' and wr_num < '{$wr_num_org}'";
}
$result_2 = sql_query($sql);
// 4) (임시) '0' 게시글 고유번호를 새 위치 고유번호로 업데이트
if ($wr_num < $wr_num_org)
    $wr_num = $wr_num + 1;
$sql = "update {$write_table} set wr_num = '{$wr_num}' where wr_num = '0'";
$result_3 = sql_query($sql);
$r = $result_1 * $result_2 * $result_3;
if ($r)
    echo 'OK';
else
    echo 'Error';[/code]

댓글목록

등록된 댓글이 없습니다.


자료 목록
번호 제목 날짜
199
🫧
05-23
198
🫧
05-23
197
🫧
05-23
196
🫧
05-23
195
🫧
05-22
194
🫧
05-22
193
🫧
05-22
192
🫧
05-22
📖
🫧
05-21
190
🫧
05-16
189
🫧
05-15
188
🫧
05-14
187
🫧
05-11
186
🫧
05-10
185
🫧
05-10

🔍 검색

회사소개 개인정보처리방침 서비스이용약관
Copyright © rainbowgarden.shop All rights reserved.