중복글 삭제하기 질문입니다. 정보
중복글 삭제하기 질문입니다.본문
특정 게시판 내에서 중복된 제목 혹은 필드(wr_10)등 이런 조건으로요..
버튼 하나 만들고 삭제페이지 만들어서 연결하여 누르면 중복된 글만 삭제하려고 합니다.
다만 예를 들어 중복된 글이 3개일경우 한개만 남기고 2개는 지워져야겠죠..
이왕이면 젤 첨글이 지워지면 좋겠습니다.
글을 정리하면요..
현재 게시판에서 게시글마다 wr_10에 특정값을 넣어둔상태입니다.
한 게시판내에 전체 게시글 중 그 특정값이 동일할 경우 wr_id가 가 제일 낮은거 하나 나두고 나머지 동일 값은 wr_id는지웁니다.
동일한 값이 없는 경우는 현상태 유지하구요.
여기서 삭제 페이지에 들어갈 소스를 잘 모르겠습니다..
대충 기본틀은 이런식으로 하면 되는지는 모르겠는데 고수님들 좀 도와주세요^^
if($is_admin == "super" && $w == 'cl' && $bo_table) {
$sql = "select count(*) from $write_table where wr_10 = '$wr_10'";
$tmp = sql_fetch($sql);
$sql = "delete from $write_table where wr_id = '$wr_id' ";
sql_query($sql);
.
.
.
.
버튼 하나 만들고 삭제페이지 만들어서 연결하여 누르면 중복된 글만 삭제하려고 합니다.
다만 예를 들어 중복된 글이 3개일경우 한개만 남기고 2개는 지워져야겠죠..
이왕이면 젤 첨글이 지워지면 좋겠습니다.
글을 정리하면요..
현재 게시판에서 게시글마다 wr_10에 특정값을 넣어둔상태입니다.
한 게시판내에 전체 게시글 중 그 특정값이 동일할 경우 wr_id가 가 제일 낮은거 하나 나두고 나머지 동일 값은 wr_id는지웁니다.
동일한 값이 없는 경우는 현상태 유지하구요.
여기서 삭제 페이지에 들어갈 소스를 잘 모르겠습니다..
대충 기본틀은 이런식으로 하면 되는지는 모르겠는데 고수님들 좀 도와주세요^^
if($is_admin == "super" && $w == 'cl' && $bo_table) {
$sql = "select count(*) from $write_table where wr_10 = '$wr_10'";
$tmp = sql_fetch($sql);
$sql = "delete from $write_table where wr_id = '$wr_id' ";
sql_query($sql);
.
.
.
.
댓글 전체

function removeDuplication($bo_table, $wr_10)
{
// 파라메터 체크
if ( !$bo_table || !$wr_10 ) return false;
// 삭제할 wr_id를 저장할 배열
$tmp_wr_id = array();
// 필드(wr_10)에서 특정값 쿼리(정렬은 wr_id 낮은순)
$sql = "select wr_id from ".$bo_table." where wr_10 = '".$wr_10."' order by wr_id asc";
$que = mysql_query($sql);
while ( $res = mysql_fetch_object($que) )
{
$tmp_wr_id[] = $res->wr_id; // 배열에 저장
}
// 첫번째 값만 빼준다.
array_shift($tmp_wr_id);
// 삭제할 값이 있다면 삭제~
if ( count($tmp_wr_id) )
{
mysql_query("delete from ".$bo_table." where wr_id in (".implode(",", $tmp_wr_id).")");
}
}
삭제하는 쿼리가 있으므로 반드시 테스트후 적용
{
// 파라메터 체크
if ( !$bo_table || !$wr_10 ) return false;
// 삭제할 wr_id를 저장할 배열
$tmp_wr_id = array();
// 필드(wr_10)에서 특정값 쿼리(정렬은 wr_id 낮은순)
$sql = "select wr_id from ".$bo_table." where wr_10 = '".$wr_10."' order by wr_id asc";
$que = mysql_query($sql);
while ( $res = mysql_fetch_object($que) )
{
$tmp_wr_id[] = $res->wr_id; // 배열에 저장
}
// 첫번째 값만 빼준다.
array_shift($tmp_wr_id);
// 삭제할 값이 있다면 삭제~
if ( count($tmp_wr_id) )
{
mysql_query("delete from ".$bo_table." where wr_id in (".implode(",", $tmp_wr_id).")");
}
}
삭제하는 쿼리가 있으므로 반드시 테스트후 적용

쩝;;; 작성하고 보니 답글, 코멘트 문제가 있겠네요..