
소스먼저 첨부하겠습니다!
$write_table = $g5['write_prefix'].test; $data = array();$sql = "select wr_id, wr_num from {$write_table} where wr_is_comment=0 and wr_reply='' order by wr_datetime";$qry = sql_query($sql);while ($row = sql_fetch_array($qry)) $data[] = $row;sql_query("update {$write_table} set wr_num = wr_num * -1");$wr_num = 0;$wr_id = 0;foreach ($data as $row){ $wr_num--; $wr_id++; $row['wr_num'] *= -1; $sql = "update {$write_table} set wr_num = '{$wr_num}', wr_id = '{$wr_id}' where wr_num = '{$row['wr_num']}'";sql_query($sql); }
게시물을 다른게시판에 복사 또는 이동했을 경우 날짜가 섞여서 변경되는데
게시물의 번호들을 수정 해서 다시 정렬 할려고 만지고있는데요
여기에 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개 / 댓글 1개
wr_id는 변경 하지 않는게 좋습니다. 아주아주 복잡해집니다.
그냥 게시판 관리자모드에서
리스트 정렬 필드를 날짜 최근것 부터로 설정해주는게 좋을 듯 합니다.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
wr_parent와 해당 댓글까지도 바꾸어서 작업하려고 하고있습니다^^