sql delete 조건절 만들기가 어렵네요... 누가 좀 도와주세요...
본문
<?php
include_once('./_common.php');
include_once(G5_EDITOR_LIB);
$i=0;
$find_1="불량단어1";
$find_2="불량단어2";
$find_3="<a href=";
$find_4="http://";
$wr_id=0;
$sql="SELECT * FROM g5_write_free WHERE wr_is_comment=1";
$result=sql_query($sql);
while($dbData=sql_fetch_array($result))
{
if(stripos($dbData['wr_content'],$find_1) !== false || stripos($dbData['wr_content'],$find_2) !== false ||
stripos($dbData['wr_content'],$find_3) !== false || stripos($dbData['wr_content'],$find_4) !== false)
{
$sql2 = "DELETE FROM g5_write_free WHERE wr_id=$dbData['wr_id']
and wr_id=$wr_id";
sql_query($sql2);
$wr_id=$dbData['wr_id'];
}
$i++;
if($i==5) break;
}
include_once('./board_tail.php');
@include_once ($board_skin_path.'/write.tail.skin.php');
include_once(G5_PATH.'/tail.sub.php');
?>
자유게시판 댓글에 광고, 불량단어들이 많아 선택적으로 뽑아서 지우려고 합니다.
그후, 댓글에 대한 카운터를 새로 작성하려고 합니다.
$find_1~$find_4까지 링크나 불량단어를 확인하고 자유게시판 테이블 댓글에서 지우려고 하는데,
delete from 구문에서 where 조건절을 어떻게 써야 할지 이렇게 올립니다.
if문에 해당하는 그 행만 지우면 되는데 delete로 where 조건문 만들기가 넘 어렵네요...
몇 시간째 고민하다 도저히 안되어 이렇게 글 올립니다.
도와주시면 감사하겠습니다.
!-->답변 2
$words = array('불량단어1', '불량단어2');
foreach($words as $str){
sql_query("delete from g5_write_free where `wr_is_comment` = 1 and instr(`wr_content`, '{$str}' ) > 0");
}
휴.... 프로그래밍 초보라서 몇시간째 고민하면서, 헤매는데, 넘 쉽게 간단히 해결해 주시니, 감사합니다.
자유게시판에 15만개의 자료가 단, 몇 초만에 싹 정리되네요...
감사합니다....
답변을 작성하시기 전에 로그인 해주세요.