wr_num 값을 임의로 넣을려면 어떻게 해야 할까요?

wr_num 값을 임의로 넣을려면 어떻게 해야 할까요?

QA

wr_num 값을 임의로 넣을려면 어떻게 해야 할까요?

본문


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

    $wr_num = get_next_num($write_table);
    
 $sql = " insert into g5_write_free
                set wr_num = '$wr_num',
                     wr_reply = '$wr_reply',
                     wr_comment = 0,
                     ca_name = '$ca_name',
                     wr_option = 'secret',
                     wr_subject = 'test',
                     wr_content = 'test',
                     wr_seo_title = 'test',
                     wr_link1 = '$wr_link1',
                     wr_link2 = '$wr_link2',
                     wr_link1_hit = 0,
                     wr_link2_hit = 0,
                     wr_hit = 0,
                     wr_good = 0,
                     wr_nogood = 0,
                     mb_id = 'test',
                     wr_password = '테스트게시글1',
                     wr_name = 'test',
                     wr_email = '',
                     wr_homepage = '',
                     wr_datetime = '".G5_TIME_YMDHIS."',
                     wr_last = '".G5_TIME_YMDHIS."',
                     wr_ip = '{$_SERVER['REMOTE_ADDR']}',
                     wr_1 = '$wr_1',
                     wr_2 = '$wr_2',
                     wr_3 = '$wr_3',
                     wr_4 = '$wr_4',
                     wr_5 = '$wr_5',
                     wr_6 = '$wr_6',
                     wr_7 = '$wr_7',
                     wr_8 = '$wr_8',
                     wr_9 = '$wr_9',
                     wr_10 = '$wr_10' ";
    sql_query($sql);
    $wr_id = sql_insert_id();
    // 부모 아이디에 UPDATE
    /*sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");*/
    // 새글 INSERT
    sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) ");
    // 게시글 1 증가
    sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");

?>
 

 

위의 코드를 이용해서 게시글 임의로 넣는 파일을 만들고 있는데요. set wr_num 값을 넣질 못하니 값이 계속해서 0이나 -1 이렇게 들어가서 게시글 순서가 이상해 지고 있습니다.

 

의도는 일반 게시글 적어도 정상 들어가고 위의 파일 실행해도 게시글 적는것처럼 들어가게 하고 싶은데 방법이 있을까요?
$wr_num 값만 정상적으로 들어가면 되거든요.

이 질문에 댓글 쓰기 :

답변 3

댓글일 경우만 빼면 값이 들어갈건데요 아래 소스코드 처럼 변수를 위에다가 하나 넣어줘보세요.

 

$wr_num = $_POST['wr_num'];

if ($w == 'r') {
    // 답변의 원글이 비밀글이라면 비밀번호는 원글과 동일하게 넣는다.
    if ($secret)
        $wr_password = $wr['wr_password'];

    $wr_id = $wr_id . $reply;
    $wr_num = $write['wr_num'];
    $wr_reply = $reply;
} else {
    $wr_num = get_next_num($write_table);
    $wr_reply = '';
}

위의 코드 대로 추가를 해보았습니다. wr_num에는 -1 값만 들어 가고 있습니다.
그리고 게시판 번호에는 1 / 0 / -1 / -2 이렇게 되네요....

혹시
sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) ");
    // 게시글 1 증가
    sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");

여기 부분 수정을 해야 할까요?
g5_write_free 직접 넣고 있는데요.

일반적인 게시글의 경우 wr_id 음수 값이 들어가고 있습니다.
wr_id 가 17일 경우 wr_num은 -17 이렇게 값이 들어가고 있는데 문제는 제가 구성한 코드로 하면 -1이나 0 밖에 안들어 가게 되고 만약에 임의로 값 넣게 되면 기존 일반 게시글 적는거랑 또 오류가 나게 되서 문의드립니다. wr_num 값이 중복되면 리스트가 이상하게 나오더군요.

긴글 적어주셔서 감사합니다.
여러 구조 생각해보면서 직접 값을 넣는 형식으로 구현했습니다.
// 부모 아이디에 UPDATE
    sql_query(" update g5_write_free set wr_parent = '$wr_id', wr_num='-$wr_id' where wr_id = '$wr_id' ");
이 값에다가 wr_num 값을 직접 넣었습니다. 댓글이나 다른 사항에서는 문제가 되겠지만 의뢰받은 업무는 글 쓰는 것만 있어서 위와 같이 해도 될 듯 합니다.

phpmyadmin으로 게시글 들어가는것 보면 wr_num 값은 음수로 값이 들어가고 음수로 값이 늘어나고 있습니다.

저의 경우는 아무리 해도 wr_num 값이 0 또는 -1 밖에 안들어가서 문제였습니다.
0, -1, -2, -3 ....  이런식으로 게시글 증가할 수록 늘어나야 했는데 안되어서 문제였습니다.
wr_id 값이 고유한 값이니 wr_num에는 - 붙여서 들어가도록 하면 될듯 합니다.

일단
if ($w == 'r') {
    // 답변의 원글이 비밀글이라면 비밀번호는 원글과 동일하게 넣는다.
    if ($secret)
        $wr_password = $wr['wr_password'];

    $wr_id = $wr_id . $reply;
    $wr_num = $write['wr_num'];
    $wr_reply = $reply;
} else {
    $wr_num = get_next_num($write_table);
    $wr_reply = '';
}

이것은 꼭 있어야되구요
wr_num이 원글, 댓글 등 고유번호를 필드값에 쓰기 때문에 필요하고요

include_once('./_common.php'); 이걸 최상위에다가 넣어주시구여
빠지면 동작 안해요

중복 되는 경우 어떻게 하실 건가요

wr_num 값이 유니크한 값이라 임의로 어떻게 넣으실지 고민을 하셔야 할듯 합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,122 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT