중복글 체크중 이상한점.
본문
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에 넣지 않은 상태니 "거북이"가 될리가 없죠.
다시 한번 소스를 잘 살펴 보시길 권해 드립니다.
if ($result[cnt]) {
if ($result[cnt] >= 2) {
로 바꾸셔야 되지 않나요?
리스트 같은경우 $list[$i][wr_subject] 처럼 각각 번호가 있는데 $wr_subject로 하면 모든 게시글의 글제목이 바뀌는거 아닌가요? 게시글마다의 $wr_subject를 바로보겟금 바꿔야 하는거 아닌가 싶은데..한달전에 댓글처리하는데 저도 일괄 변경되서 $list[$i] 붙혀서 처리했었거든요.. 저도 초보라 ㅡ,.ㅡ 소스를 직접 만져보지 않는이상은 감을 못잡기때문에..-.- 암튼 증상이 비슷해서 지나가다 말씀드려봅니다