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

슈와이 님께서 알려주신 로그 제거법을 모든 게시판에 한번에 적용하려면? 채택완료

홈짱 9년 전 조회 4,851

이거 한 게시판 씩 말고, 모든 게시판에 적용하는 방법 없을까요?

게시판이 몇 십개다보니....

 

 

update 테이블 set

wr_content = left(wr_content, instr( wr_content, '[이 게시물은 최고관리자님에 의해')-1) 

where wr_content regexp '\\[이 게시물은.+이동 됨\\]'

 

http://sir.kr/qa/145315" target="_self">http://sir.kr/qa/145315 

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

답변 1개

채택된 답변
+20 포인트
d
9년 전

g5_board테이블에서 게시판 테이블들을 다불러와서 반복문돌려서 저 쿼리문을 찍으면될텐데요??? 

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

답변에 대한 댓글 2개

선우善友
9년 전
"dart"님이 답을 주셨기 때문에 채택은 "dart"님께 해주세요^^

다만 게시판 테이블의 내용을 삭제하는 문제이고, 슈와이 님에 제시해주신 쿼리문을 자칫 잘못 적용하면 wr_content 내용을 다 날릴 수 있는 염려 때문에 소스를 적어봅니다.
[code]
<?php
$result = sql_query(" select bo_table from {$g5['board_table']} ");
while($row = sql_fetch_array($result)){
$wr_table = $g5['write_prefix'].$row['bo_table'];

$result2 = sql_query(" select wr_id from {$wr_table} where instr(wr_content, '[이 게시물은 최고관리자님에 의해') ");
if($result2){
while($row2 = sql_fetch_array($result2)){
//echo $wr_table.' : '.$row2['wr_id'].'<br>'; //먼저 해당 게시물만 출력되는지 확인하고 아래의 쿼리를 실행하세요.
sql_query(" update {$wr_table} set wr_content = left(wr_content, instr( wr_content, '[이 게시물은 최고관리자님에 의해')-1) where wr_content regexp '\\[이 게시물은.+이동 됨\\]' and wr_id = '{$row2['wr_id']}' ");
}
}
}
?>
[/code]
홈짱
9년 전
다트 님, 선우 님 감사합니다.

사실 저도 원리는 아는데, 실전이 안 되다보니..^^;;;
갓 입문해서 조금만 어려워도 응용을 못하겠더라구요.ㅡㅡ;

덕분에 코드 이해에 큰 도움이 되었습니다.

사실, 기대 않고 질문 올렸는데, 이렇게 소스까지 공유해주셔서 정말 감사합니다.

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

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

로그인