Q&A

댓글을 지울 시,

게시물 추천수에서도

해당 댓글의 추천수만큼 삭감해주고 싶습니다.

 

자료실 모듈을 참고삼아 해보려고 하는데, 자료실 모듈의 경우

댓글을 지우고 나서 다시 해당 글의 댓글의 합을 게시글 추천수로 업데이트 하는 것 같습니다.

(자료실 모듈을 참조해서 해보려고 해도 잘 안되네요.)

 

/www/modules/board/board.controller.php

function procBoardDeleteComment()

이 아래에,

$output = $oCommentController->deleteComment($comment_srl, $this->grant->manager);
if(!$output->toBool())
{
   return $output;
}

이 아래 부분에 다음과 같이 적어주었습니다.

$p_star_args->module_srl = $this->module_srl;
$p_star_args->document_srl = $this->document_srl;
$p_star_args->voted_count = (int)$output->data->voted_count;
$output = executeQuery('board.voteRemove', $p_star_args);

 

board/queiry/voteRemove.xml 파일은 다음과 같습니다.

<query id="voteRemove" action="update">
<tables>
    <table name="documents" />
</tables>
<columns>
    <column name="voted_count" var="voted_count" notnull="notnull" default="0" />
</columns>
<conditions>
    <condition operation="equal" column="module_srl" var="module_srl" filter="number" notnull="notnull" />
    <condition operation="equal" column="document_srl" var="document_srl" filter="number" notnull="notnull" pipe="and" />
</conditions>
</query>

 

코멘트를 지우면, procBoardDeleteComment 펑션이 실행되면서,

voteRemove 쿼리가 실행이 되는 거라고 생각이 됩니다만...

 

(제가 작성한 부분 중에서 3째줄이 무슨 뜻인지는 모르고 적었습니다; )

$p_star_args->voted_count = (int)$output->data->voted_count;

이 부분은 자료실에 있는거 그대로 보고 가져왔는데 무슨 뜻이죠?; 이 부분을 고쳐줘야할것 같고;

 

일단 저렇게 적어주고 나서 코멘트를 지우고 나면, 게시물 추천수에는 변화가 없고;;

게시물 글보기 상태가 아닌, 게시물 리스트 화면으로 돌아가 버립니다.

 

제가 잘 몰라서 사실 저 부분에서 없는게

해당 게시물의 전체 voted_count 에서 해당 코멘트의 voted_count를 빼주는 부분이 아마 3째줄에 들어가줘야 할것 같은데, 그것도 잘 모르겠고..

 

update하는 쿼리문이 저게 맞는지도 잘 모르겠습니다. ;;

 

Function 부분을 잘못 적으니깐, 목록 화면으로 가거나, 지우기 해도 화면이 바뀌질 않네요. 왜 그런걸까요?;

페이지 전환하는 건 어디서 확인할 수가 있죠

이온디 Lv. 13
# 라이믹스 스킨 제작은 어디? >>>> XE 레이아웃, 라이믹스 스킨제작은 이온디에서 커스터마이징해드립니다.
# 빠른 라이믹스 커뮤니티용 호스팅을 찾고 계신가요? >>>> 이온디호스팅 서비스는 PHP8 & Redis 서버 캐시를 활용하여 라이믹스에 최적화된 호스팅 서비스를 제공해드립니다. (서버세팅시 웹패널, 내도메인메일서비스도 함께 구축해드립니다.)
https://eond.com

댓글 0