ca_name을 update로 분류변경할때 문제가 생겼어요
본문
완전 토나오는 초보가.....며칠째 오류가 나서 고민고민하다가 다시 적어봅니다
우선 제가 계획했던건 게시판안에서 // 일정조건이 충족이 되었을때 같은 같은게시판의 다른 분류로 이동하는것이에요
그래서 제가 행한 행위는 게시판안에서
wr_is_comment = 0 ( 글일 경우 )
wr_good >= 10 ( 추천수가 10개 이상일경우 )
도움된글모음 이라는 ca_name으로 분류 이동을 시키겠다 였습니다.
if($bo_table == "Q&A") {
sql_query(" update $write_table set ca_name = '도움된글모음' where wr_is_comment = 0 and wr_good >= 10 and wr_id = '$wr_id' ");
}
그래서 테스트를 진행해봤습니다
아래는 전체글이고 1번 글을 추천수를 10개를 만들었습니다
아래처럼 세팅을 해놓고
( 글 적을때 모든글의 분류는 질문하기로 해놨습니다. )
1번글을 추천수 10개이상을 만들었습니다
그랬더니 아래 사진처럼 도움된 글모음으로 무사히 넘어감을 확인할수가 있었어요
그런데 여기서 희안한 상황이 벌어집니다
질문하기분류에 ca_name은 도움된 글모음이라고 분류명은 바뀐채 .....여전히 존재한다는것이겠죠...
그래서 phpmyadmin에서 몇번이고 다시 확인해봐도
1번글에 대한 ca_name은 분명 바뀌었는데...여전히 처음 분류탭에 남아있다는걸 알수가 있었어요
그러다 문득 이상한걸 발견하게 됩니다.
아래 파란색은 1번글에 대한 내용이고
빨간색으로 칠한건 1번글에 달려있는 댓글에 대한 내용이란 점이었어요
즉...1번글은 ca_name이 바뀌었지만..
1번글에 있던 댓글은....여전히 처음 그대로 였다는점을 알게되었어요..
아마도..추측상..이 댓글들때문에..분류탭에서 완전히 넘어가지 않는구나..하는 생각이 들더라구요.
그렇다면..이 댓글들도 같은조건에서 같이 변환시켜줘야할텐데...문제는 제가 그걸 잘 못하겠어요
댓글은 글에 딸려있는데..
글이 어떤 조건이 충족되어 넘어갈때
댓글도 넘어가라 해야할텐데..
이 쿼리를 쓰지 못하겠어요..머리속이 하애짐을 느끼고 있어요 ㅠ.ㅠ
댓글일때는
wr_id = '$wr_id' 가아니고 댓글이라서 wr_id = '$wc_id' 로 표기해줘야한다고 생각은 하고 있는데
딱 거기까지고..이걸 어떻게 표기해주지? 하는 생각이 듭니다 ㅠ.ㅠ
혹시 조언해주실분이 계시다면 부탁드려봅니다
!-->
답변 4
스킨에서 echo $sql; 해서 분류를 추출하는 쿼리문을 확인해서 올려보세요
정상적인 코드라면 질문 처럼 될 수 없습니다
댓글 분류가 변경되지않았다고 리스트가 영향 받지않습니다
댓글 분류를 변경해 주어야하는 이유는 선택한 분류내에서 댓글까지 검색할 때(예:댓글작성자이름)
검색이 안되기 때문입니다
===================
그리고 ca_name 변경 update코드를 어느 화일에 넣은 것인지 모르겠으나
위 처럼 하지말고 아래처럼 하세요(댓글 분류도 함께 변경 됨)
if($bo_table == "Q&A"){
$row = sql_fetch("select group_concat(wr_id) as idstr from $write_table where wr_is_comment = 0 and ca_name = '질문하기' and wr_good >= 10");
if($row['idstr'])
sql_query(" update $write_table set ca_name = '도움된글모음' where wr_parent IN( {$row['idstr']}) ");
}
그누보드 소스에 적혀 있는 주석중에 댓글이 부모글의 카테고리에 맞춰 수정되어야
리스트 버그가 없다고 써있습니다.. 원인은 왜 그런지 모르겠다는 내용과 함께 주석이 달린내용이 있습니다.
댓글들도 부모 카테고리 변경시 함께 변경되도록 수정해보세요
테스트 해봤는데 ca_name 까지 변하지 않아도 분류는 이동된 쪽에 정상적으로 표시 되네요.
새로고침이 필요한 사항이라던지
아니면 커스텀한 부분이 있으면 그곳을 확인해봐야 하지 않나 싶습니다.
캐시가 작용해서 이동했음에도 리스트에 나오는 건 아닐까요?
카테고리 이동이 빈번히 발생하는 이런 경우에는 캐시가 작동하지 않도록
list.php에서 코드를 조정해야 하지 않을까 싶네요.