게시물 SQL 삭제시 카운트 처리

🙏SIR UI/UX 디자인 의뢰(~7/31)
게시물 SQL 삭제시 카운트 처리

QA

게시물 SQL 삭제시 카운트 처리

본문

어쩔수없이
게시물을 PHP상에서 SQL 강제삭제처리를 할 수 밖에없는데요

그러하니 게시물의 카운트가 맞지않는 현상이 발생하였습니다.


리스트 접속시 카운트를 조정하게끔 진행하려하는데

관리자로 들어가서 진행하는
1846272527_1747039050.384.png

해당부분을 board_form_update.php파일에서

<?php
$sql = " select a.wr_id, (count(b.wr_parent) - 1) as cnt from {$g5['write_prefix']}{$bo_table} a, {$g5['write_prefix']}{$bo_table} b where a.wr_id=b.wr_parent and a.wr_is_comment=0 group by a.wr_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
    sql_query(" update {$g5['write_prefix']}{$bo_table} set wr_comment = '{$row['cnt']}' where wr_id = '{$row['wr_id']}' ");
}
?>

을 가져와 list.skin.php 상단부에 넣었는데 작동이 되질 않습니다..

조언이나 관련 링크가 있으면 부탁드립니다

이 질문에 댓글 쓰기 :

답변 1

1. php 상에서 강제 삭제 하는 쿼리 아래에 ..업데이트  (위에 작성한 쿼리) 를 합니다.

 

2. php 로 sql 강제 삭제 > 해당 카운트가 동작하게끔 하는 방법이죠

 

3. sql 강제 삭제하는 코드가 없어 정확하게는 모르겠지만. common.php 파일을 인쿠르트 하지 않았다면

 

4. {$g5['write_prefix']}{$bo_table}  이부분을 수작업으로 작성해야 합니다.

아하
common.php는 인클루드되어있고
현재 강제삭제는


$counsel_span_delete = "
    DELETE FROM g5_write_inquiry01
    WHERE (ca_name = '' OR ca_name IS NULL)
      AND mb_id <> 'admin'
      AND DATE(wr_datetime) BETWEEN CURDATE() - INTERVAL 1 DAY AND CURDATE()
";

sql_query($counsel_span_delete);

로 이뤄져 있습니다!


아래에 {$g5['write_prefix']}{$bo_table} 를 g5_write_inquiry01로 바꿔도 실행이안되는것같습니다..

<?php
$sql = " select a.wr_id, (count(b.wr_parent) - 1) as cnt from {$g5['write_prefix']}{$bo_table} a, {$g5['write_prefix']}{$bo_table} b where a.wr_id=b.wr_parent and a.wr_is_comment=0 group by a.wr_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
    sql_query(" update {$g5['write_prefix']}{$bo_table} set wr_comment = '{$row['cnt']}' where wr_id = '{$row['wr_id']}' ");
}
?>

변수를

 g5_write_inquiry01

이걸로 다 변경해서 실행해보세요..

아울러, 설정된 쿼리를 잠시 화면에 출력 시켜보세요

echo $sql;
exit;

하면 화면에 쿼리 나올꺼에요 그거 실제  phpmyadmin 같은 곳에서 정확하게 나오는지 확인

그리고 update 문도 화면에 출력해서 실행해보세요

감사합니다!

 {$g5['write_prefix']}{$bo_table}  -> g5_write_inquiry01 변경 후


SELECT 쿼리(echo $sql;):
SELECT a.wr_id, (COUNT(b.wr_parent) - 1) AS cnt FROM g5_write_inquiry01 a, g5_write_inquiry01 b WHERE a.wr_id = b.wr_parent AND a.wr_is_comment = 0 GROUP BY a.wr_id

UPDATE 쿼리: UPDATE g5_write_inquiry01 SET wr_comment = '0' WHERE wr_id = '3'
UPDATE 쿼리: UPDATE g5_write_inquiry01 SET wr_comment = '0' WHERE wr_id = '4'
UPDATE 쿼리: UPDATE g5_write_inquiry01 SET wr_comment = '0' WHERE wr_id = '6'
UPDATE 쿼리: UPDATE g5_write_inquiry01 SET wr_comment = '0' WHERE wr_id = '7'
UPDATE 쿼리: UPDATE g5_write_inquiry01 SET wr_comment = '0' WHERE wr_id = '2544'
UPDATE 쿼리: UPDATE g5_write_inquiry01 SET wr_comment = '0' WHERE wr_id = '2545'
UPDATE 쿼리: UPDATE g5_write_inquiry01 SET wr_comment = '0' WHERE wr_id = '2546'
UPDATE 쿼리: UPDATE g5_write_inquiry01 SET wr_comment = '0' WHERE wr_id = '2547'
UPDATE 쿼리: UPDATE g5_write_inquiry01 SET wr_comment = '0' WHERE wr_id = '2548'
UPDATE 쿼리: UPDATE g5_write_inquiry01 SET wr_comment = '0' WHERE wr_id = '2549'

나오네요.
토대로 한번 공부해서 다시 적용해보겠습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 188
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT