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

부모님 좀 찾아주세요 ㅜㅜ사진 첨부 채택완료

sIr어드민 3년 전 조회 2,060

부모님이 나가서 안돌아옵니다. 흑흑

아래코드는 게시글 복사하는건데요,,

 

wr_id와 wr_num은 타켓 게시판의 다음 값으로 잘 들어가는데

wr_부모님은 오리지널글의 값으로 들어갑니다. 그레서 문제가 생겼습니다.

wr_id와 같은 값으로 값으로 찾아주세요,

        </p>

<p> </p>

<p>$sql3 = " select * from $write_table where wr_num = '$wr_num' and  wr_is_comment=0 order by wr_parent, wr_comment desc, wr_id ";

        $result3 = sql_query($sql3);

        for($k=0; $row3=sql_fetch_array($result3); $k++) {

            if($is_euckr)

                $row3 = array_map('iconv_utf8', $row3);

            $comma3 = '';

            $sql_common3 = '';</p>

<p>

            $wr_num = get_next_num($move_write_table);

        //    $wr_id = sql_insert_id($move_write_table);

            $wr_parent = sql_insert_id($move_write_table);

            foreach($row3 as $key=>$val) {

                if(!in_array($key, $columns2)) continue;

                if($key=='wr_id') continue;

                if($key=='wr_num') $val = $next_wr_num;

                if($key=='wr_parent') $val = $wr_id; //이렇게 하니 원글 아이디값이 들어가버립니다..ㅜㅜcontinue로 하면 0으로 들어가버리구요.

                if($key=='wr_content') continue;</p>

<p>                

                

                $sql_common3 .= $comma3 . " $key = '".addslashes($val)."' ";

                $comma3 = ',';

            }</p>

<p>

            sql_query(" INSERT INTO $move_write_table SET $sql_common3 ");</p>

<p>

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

답변 2개

채택된 답변
+20 포인트
3년 전

지난번 답변에 insert후에 wr_parent 를 넣어주는 코드가 있는데 왜 저런 방법을?

저렇게하면 안됩니다

왜냐하면 삭제를  하다보면 다음 wr_id가 +1 아닌 경우가 생깁니다

게시물 삭제하는 일이 없다면 문제없음

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

답변에 대한 댓글 1개

s
sIr어드민
3년 전
아 그렇군요 ㅜㅜ그부분은 미처 생각못했습니다. 다시 해볼게요. 아 이것저것하다가 안되서 그걸 뺏네요, 그리고 또 삽질했네요,,감사합니다. 덕분에 마음껏 요리조리 복사가 가능한 ai방식 복사코드가 됐습니다. ㅎㅎ

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

s

이게 $wr_id = sql_insert_id();는 인서트 후에 불러오는거라

인서트 전에 wr_id와 동일한 값으로 기록하려는게 안되는거 같네요..맞나요?

그래서

 

$sql4 = " select MAX(wr_id) as cnt from $move_write_table" ; $row4 = sql_fetch($sql4);

한다음에 cnt+1로 먼저 정의하고 하니 제대로 저장되는거 같습니다.

해결은 되었는데 이게 맞는 방법일까요?

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

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

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

로그인