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

쿼리문에서 wr_id의 값을 바꾸고 싶습니다.. 채택완료

보들이윤 9년 전 조회 2,164


 

소스먼저 첨부하겠습니다!

</p><p>$write_table = $g5['write_prefix'].test; </p><p> </p><p>$data = array();</p><p>$sql = "select wr_id, wr_num from {$write_table} where wr_is_comment=0 and wr_reply='' order by wr_datetime";</p><p>$qry = sql_query($sql);</p><p>while ($row = sql_fetch_array($qry)) $data[] = $row;</p><p>sql_query("update {$write_table} set wr_num = wr_num * -1");</p><p>$wr_num = 0;</p><p>$wr_id = 0;</p><p>foreach ($data as $row){</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$wr_num--;</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$wr_id++;</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$row['wr_num'] *= -1;</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$sql = "update {$write_table} set wr_num = '{$wr_num}', wr_id = '{$wr_id}' where wr_num = '{$row['wr_num']}'";</p><p>sql_query($sql); </p><p>}</p><p>

 

게시물을 다른게시판에 복사 또는 이동했을 경우 날짜가 섞여서 변경되는데

게시물의 번호들을 수정 해서 다시 정렬 할려고 만지고있는데요

 

여기에 wr_num과 같이 wr_id도 바꾸어 버리려는데 

wr_id가 계속 바뀌지않는데 어떻게 해야할까요

wr_id가 프라이머리키라서 안바뀌는건가요? 방법이있을까요

 

위에 첨부이미지는 쿼리문에 wr_id를 빼고 wr_num만 넣고 돌렸을때에는

$sql = "update {$write_table} set wr_num = '{$wr_num}' where wr_num = '{$row['wr_num']}'"; 

정상적으로 wr_num이 바뀌는데

여기에 wr_id도 바꾸기위해서 이렇게 wr_id조건을 추가를하니

$sql = "update {$write_table} set wr_num = '{$wr_num}', wr_id = '{$wr_id}' where wr_num = '{$row['wr_num']}'"; 

업데이트가 안되네요

 

wr_num은 -1,-2,-3 이렇게 늘어나고

wr_id는 1,2,3 이렇게 늘어납니다.

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

답변 1개

그림자밟기

wr_id는 변경 하지 않는게 좋습니다. 아주아주 복잡해집니다.

그냥 게시판 관리자모드에서

리스트 정렬 필드를 날짜 최근것 부터로 설정해주는게 좋을 듯 합니다. 

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

답변에 대한 댓글 1개

보들이윤
9년 전
네 해당 기능이 만들어지면
wr_parent와 해당 댓글까지도 바꾸어서 작업하려고 하고있습니다^^

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

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

로그인