📑 그누보드

그누보드 게시물 순서 변경

(。θᗨθ。) 2025. 9. 16. 14:10

https://www.happyjung.com/lecture/2348

 

[G5] 게시물 순서 바꾸기 > 기술자료 | 해피정닷컴

네 꼭 view.skin.php에서 하셔야 합니다. list.skin.php 에서 처리하려면, 어느 번호로 넘길것인지를 넣어야 하는데, 그것을 목록에 넣기에는 적절하지 않습니다. 물론 하단에 넣을수도 있지만, 목록을

www.happyjung.com

 

 

그대로 하면 잘됨,,최고..bb

 

더보기

글 없어질까봐 스크랩,,

 

1. 그누보드5 / skin / board / 폴더 / _common.php  없으면 만듭니다.
<?php
include_once('../../../common.php');
// 테마 폴더 스킨폴더 이용할때 아래꺼 사용
//include_once('../../../../../common.php');
?>


2. 그누보드5 / skin / board / 폴더 / list.skin.php
목록에 보여지는 글번호를 기준으로 이동위치를 선택합니다.
갤러리의 경우에는 글 번호가 노출되도록 적당한 위치에 아래 코드를 추가합니다.
<?php if($is_admin) { echo $list[$i]['num'].".&nbsp;"; } ?>


3. 그누보드5 / skin / board / 폴더 / view.skin.php  적당한 위치에 내용 추가
        <?php if($is_admin) { ?>
        <form name="update_date" action="<?php echo $board_skin_url; ?>/update_num.php" method="post" style="padding:0; margin:0;">
        <input type="hidden" name="bo_table" value="<?php echo $bo_table; ?>">
        <input type="hidden" name="page" value="<?php echo $page; ?>">
        <input type="hidden" name="wr_id" value="<?php echo $wr_id; ?>">
        <div class="tbl_frm01 tbl_wrap">
            <table>
                <tbody>
                    <tr>
                        <th>글 순서변경</th>
                        <td>목록에서 이동하고자 하는 위치의 번호 <input type="text" name="insert_num" style="width:30px;"> 게시글의 뒤로 <input type="submit" value="이동" class="btn_list">합니다.</td>
                    </tr>
                </tbody>
            </table>
        </div>
        </form>
        <?php } ?>


4. 그누보드5 / skin / board / 폴더 / update_num.php  파일생성
<?php
include_once "_common.php";

if($is_admin == 'super') {
    // 글순서 변경하기
    // https://sir.kr/g4_tiptech/15990
    $write_table = $g5['write_prefix'].$_POST['bo_table'];
    
    //echo "insert_num = ". $_POST['insert_num'] ."<br>";
    
    if($insert_num && $_POST['insert_num'] > 0) {
        $insert_num--;
        $row2 = sql_fetch(" select wr_num from ".$write_table." where wr_is_comment = 0 order by wr_num DESC limit ".$insert_num.", 1 ");
        $move_wr_num = $row2['wr_num'];
       
        if($w =='') {
            $pre_wr_num = $wr_num;
        } else {
            $row3 = sql_fetch(" select wr_num from ".$write_table." where wr_id= '".$wr_id."' ");
            $pre_wr_num = $row3['wr_num'];
        }
        //echo "<br>///check/////////////1.m_wr_num= $move_wr_num ///pre_wr_num= $pre_wr_num";     exit;
    
        if( $move_wr_num ) {
            // 이동 대상될 게시글의 wr_num를 $ori_num 에 대입
            $ori_wr_num = $move_wr_num;
            // 지정번호 이후것들을 - 증가
            sql_query("update ".$write_table." set wr_num = wr_num - 1 where wr_num<= ".$move_wr_num." " );
        } else {
            $move_wr_num = get_next_num($write_table);
        }
            $ori_wr_num = $move_wr_num;
        
        ///////
        //echo "update ".$write_table." set wr_num = wr_num - 1 where wr_num<= ".$move_wr_num." <br>";
    
        if($move_wr_num > $pre_wr_num) $pre_wr_num--;
        
        sql_query("update ".$write_table." set wr_num = ".$move_wr_num." where wr_num= '".$pre_wr_num."' " ); 
        
        ///////
        //echo "update ".$write_table." set wr_num = ".$move_wr_num." where wr_num= '".$pre_wr_num."' <br>"; 
        
            // 이동 대상 wr_num 교체
            sql_query("update ".$write_table." set wr_num = '".$ori_wr_num."' where wr_id= ".$_POST['wr_id']." " );
            //echo "update ".$write_table." set wr_num = '".$ori_wr_num."' where wr_id= ".$_POST['wr_id']." <br>";
    
    }
    //exit;
}
?>
<script>
  location.href="<?php echo G5_BBS_URL."/board.php?bo_table=".$_POST['bo_table']."&page=".$_POST['page']; ?>" ;
</script>

728x90