게시글 태그 삭제하는 방법..

Q & A

질답게시판

홈 > 회원포럼 > 질답/버그/제안
질답/버그/제안

게시글 태그 삭제하는 방법..

5 언제나행복 3 117

75f6099bf018549df9a9f10f17f3dbee_1558757295_579.png
 


게시글 삭제 후 (정확히 일정시간이 지나면 자동삭제) 태그박스에 보면 저 스샷처럼 태그 정보를 남아있는데요.


태그 리카운트해도 안되고... 


이거 삭제하려면 어떻게 해야 되나요?


3 Comments
M 한별아빠 05.26 01:23  
1. phpmyadmin 에서 해당 테이블(g5_apms_tag_log)에서 직접 삭제해 줘야 할 듯 하네요.

2. 그리고 일정시간이 지나면 자동삭제하는 로직을 어떻게 구현했는지 모르겠지만, 삭제시 태그처리하는 쪽 다시 체크해 보셔야 할 듯 한데, 대부분 저런 경우 한 번에 많은 양이 동시에 삭제되면서 DB쪽에서 제대로 처리되지 않은 것이라... 뭐라고 이야기 드리기는 힘드네요.ㅠㅠ
extend 폴더에 daypass_del.php 만들어서

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

// 특정게시판에 적용하고 싶을때
$ttable = array('free01', 'free02');
foreach($ttable as $t) {
$tbo_table = $t;

sql_query(" delete from ".$g5['write_prefix'].$tbo_table." where wr_datetime < date_add(now(), interval -90 day) ");
sql_query(" delete from ".$g5['new_win_table']." where wr_datetime < date_add(now(), interval -120 day) and bo_table = '".$tbo_table."' ");

// 게시판의 글 수
$sql = " select count(*) as cnt from ".$g5['write_prefix'].$tbo_table." where wr_is_comment = 0 ";
$row = sql_fetch($sql);
$bo_count_write = $row['cnt'];

// 게시판의 코멘트 수
$sql = " select count(*) as cnt from ".$g5['write_prefix'].$tbo_table." where wr_is_comment = 1 ";
$row = sql_fetch($sql);
$bo_count_comment = $row['cnt'];

if (isset($_POST['proc_count'])) {
// 원글을 얻습니다.
//$sql = " select wr_id from {$g5['write_prefix']}{$tbo_table} where wr_is_comment = 0 ";
$sql = " select a.wr_id, (count(b.wr_parent) - 1) as cnt from ".$g5['write_prefix'].$tbo_table." a, ".$g5['write_prefix'].$tbo_table." b where a.wr_id=b.wr_parent and a.wr_is_comment=0 group by a.wr_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {

// 코멘트수를 얻습니다.
/*
$sql2 = " select count(*) as cnt from {$g5['write_prefix']}$tbo_table where wr_parent = '{$row['wr_id']}' and wr_is_comment = 1 ";
$row2 = sql_fetch($sql2);
*/
           
sql_query(" update ".$g5['write_prefix'].$tbo_table." set wr_comment = '".$row['cnt']."' where wr_id = '".$row['wr_id']."' ");
}
}

// 공지사항에는 등록되어 있지만 실제 존재하지 않는 글 아이디는 삭제합니다.
$bo_notice = "";
$lf = "";
if ($board['bo_notice']) {
$tmp_array = explode(",", $board['bo_notice']);
for ($i=0; $i<count($tmp_array); $i++) {
$tmp_wr_id = trim($tmp_array[$i]);
$row = sql_fetch(" select count(*) as cnt from ".$g5['write_prefix'].$tbo_table." where wr_id = '".$tmp_wr_id."' ");
if ($row['cnt']) {
$bo_notice .= $lf . $tmp_wr_id;
$lf = ",";
}
}
}

$sql = " update ".$g5['board_table']."
set bo_notice = '".$bo_notice."',
bo_count_write = '".$bo_count_write."',
bo_count_comment = '".$bo_count_comment."'
where bo_table = '".$tbo_table."' ";
sql_query($sql);
}
?>

이런 형태였습니다. free01, free02 보드에 90일전 주기적으로 삭제하고 있습니다.

그리고 g5_apms_tag_log 날짜 관련 찾아보려했으나.. (1970.01.01) 그런 표시가 안나오네요.  ㅠㅠ
M 한별아빠 05.27 01:06  
1. 코드에 태그처리하는 부분이 전혀 없는데...ㅠㅠ

2. /bbs/delete.php 나 /bbs/delete_all.php 파일 참고해 보세요.
제목
최근 글
최근 댓글
Facebook Twitter GooglePlus KakaoStory KakaoTalk NaverBand