중복글 체크중 이상한점.

중복글 체크중 이상한점.

QA

중복글 체크중 이상한점.

답변 3

본문

for{

//게시물 파싱 후 아래로 넘기기

}

 

function insert_write($a){

//중복된 제목 찾기

$result = sql_fetch(" select COUNT(*) as cnt from $write_table  where  wr_subject = '$wr_subject' ");  

 

if ($result[cnt]) { 

//중복 게시물 있으면 해당 제목을 거북이라고 하자
$wr_subject = "거북이";

}

}

 

 

안녕하세요 형님  위와 같은 상황인데요

중복값이 있으면 해당 게시물 제목만 거북이라고 안나오고

모든 게시물 제목이 거북이라고 라고 입력됩니다

 

많이 해보았는데 어떤 이유인지 잘 모르겠습니다 형님...

소스가 길어서 요약했는데 이해하기 어려우시면 죄송합니다

 

 

이 질문에 댓글 쓰기 :

답변 3

크롤링해서 가져온 글을 제목과 내용으로 파싱하고

제목으로 DB 해당 게시판 wr_subject와 같은 것이 있나 중복여부를 확인하는 과정이라 보이는데

중복제목이 있으면 wr_subject를 '거북이'라 하고 DB에 insert하겠죠.

이러는 과정에 쿼리상에 문제가 있어 insert 대신에 update를 시키신것 같고 ㅋㅋㅋ

그러니 당연히 wr_id값을 지정하지 않으셨을테고 해서 전부 "거북이"가 되었다고 보입니다.

 

파싱한 현재 내용은 당연히 DB에 넣지 않은 상태니  "거북이"가 될리가 없죠.

다시 한번 소스를 잘 살펴 보시길 권해 드립니다.

 

 

엇 평정심 형님 말씀하신것과 다른 질문이 있는데요

===================

for ($i = 0; $i < count($arr); $i++) {

 $domParser->load(file_get_contents($arr[$i]));    //각 게시물주소

$subject = $domParser-> find('title')    // 게시물의 제목추출 


//형님 이부분 부터 질문입니다

$row = sql_fetch(" select COUNT(*) as cnt from  $write_table  where  wr_subject = '여기에 뭐라고 써야될지 모르겠습니다' ");

if ($row[cnt]) {
이곳도 ..궁금합니다 ="중복";
}

}

===================


제가 틀린 것 같아서 질문드려봅니다 (__ )

if ($result[cnt]) { 

 

if ($result[cnt] >= 2) { 

 

로 바꾸셔야 되지 않나요?

리스트 같은경우 $list[$i][wr_subject] 처럼 각각 번호가 있는데 $wr_subject로 하면 모든 게시글의 글제목이 바뀌는거 아닌가요? 게시글마다의 $wr_subject를 바로보겟금 바꿔야 하는거 아닌가 싶은데..한달전에 댓글처리하는데 저도 일괄 변경되서 $list[$i] 붙혀서 처리했었거든요.. 저도 초보라 ㅡ,.ㅡ 소스를 직접 만져보지 않는이상은 감을 못잡기때문에..-.- 암튼 증상이 비슷해서 지나가다 말씀드려봅니다

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 27
© SIRSOFT
현재 페이지 제일 처음으로