테스트 사이트 - 개발 중인 베타 버전입니다

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

oneit 2년 전 조회 2,185

</p>

<p><?php

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

<p>

    $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);</p>

<p>    $wr_id = sql_insert_id();</p>

<p>    // 부모 아이디에 UPDATE

    /*sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");*/</p>

<p>    // 새글 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']}' ) ");</p>

<p>    // 게시글 1 증가

    sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");</p>

<p>

?></p>

<p> </p>

<p>

 

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

 

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

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트

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

 

$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 = '';
}
로그인 후 평가할 수 있습니다

답변에 대한 댓글 6개

o
oneit
2년 전
위의 코드 대로 추가를 해보았습니다. 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 직접 넣고 있는데요.
리오닥터
2년 전
근데 거기에 값을 뭘로 넣은다는건가요??
o
oneit
2년 전
일반적인 게시글의 경우 wr_id 음수 값이 들어가고 있습니다.
wr_id 가 17일 경우 wr_num은 -17 이렇게 값이 들어가고 있는데 문제는 제가 구성한 코드로 하면 -1이나 0 밖에 안들어 가게 되고 만약에 임의로 값 넣게 되면 기존 일반 게시글 적는거랑 또 오류가 나게 되서 문의드립니다. wr_num 값이 중복되면 리스트가 이상하게 나오더군요.
리오닥터
2년 전
그니까 음수인 값이 아닌 양수로 하고 싶단거죠??
o
oneit
2년 전
긴글 적어주셔서 감사합니다.
여러 구조 생각해보면서 직접 값을 넣는 형식으로 구현했습니다.
// 부모 아이디에 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에는 - 붙여서 들어가도록 하면 될듯 합니다.
리오닥터
2년 전
일단
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'); 이걸 최상위에다가 넣어주시구여
빠지면 동작 안해요

댓글을 작성하려면 로그인이 필요합니다.

플라이
2년 전

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

o
oneit
2년 전
참고할만한 자료가 있을까요?
현재 코드로는 값 자체 0 또는 -1만 들어가서요.

댓글을 작성하려면 로그인이 필요합니다.

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

o
oneit
2년 전
글을 직접쓰는것은 값 잘 들어가는데 위의 코드 실행은 계속해서 안들어 가네요. 방법이 없을까요?
$wr_num = get_next_num($write_table); 되지 않는게 문제입니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인