중복글 삭제하기 질문입니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

중복글 삭제하기 질문입니다. 정보

중복글 삭제하기 질문입니다.

본문

특정 게시판 내에서 중복된 제목 혹은 필드(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);
.
.
.
.

댓글 전체

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).")");
    }
}

삭제하는 쿼리가 있으므로 반드시 테스트후 적용
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT