테스트 사이트 - 개발 중인 베타 버전입니다

게시판 상단에 태그 출력할 경우 태그삭제는 어떻게 하나요? 채택완료

카산 1년 전 조회 1,489

링크에 있는 것처럼 태그 게시판을 만들고 글을 등록하면 상단에 태그가 출력되지만 글이 삭제되면 태그는 그대로 남아있습니다~~ 지우는 방법이 없을 까요? view.skin.php 는 글이 삭제되면 보이지 않지만 리스트 상단에는 사라지질 않네요~~ db에 보면 태그 테이블에는 글이 삭제되어도 모든  태그가 그냥 있구요

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
1년 전

[스킨디렉토리]/delete.skin.php

</p>

<p><?php

if (!defined("_GNUBOARD_")) exit;</p>

<p> </p>

<p>// 해당 글의 태그 삭제

$sql = "DELETE FROM comp_tag WHERE bo_table = '{$bo_table}' AND wr_id = '{$wr_id}'";

sql_query($sql);</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

카산
1년 전
마르스컴퍼니님 답변 감사합니다 위의 내용을 스킨디렉토리에 delete.skin.php 로 저장하는 건가요~`? delete.skin.php 로 저장하고 글삭제해두 태그가 삭제되지 않네요~~ 태그 스킨을 테마에서 만들어서 일까요?
마르스컴퍼니
1년 전
오류가 발생하거나, 기대한 작업이 일어나지 않을 때는..
원인을 찾고 해결하는 '디버깅' 작업을 해야 합니다.

1) adminer 설치 https://sir.kr/g5_tip/15716
2)
$sql = "DELETE FROM comp_tag WHERE bo_table = '{$bo_table}' AND wr_id = '{$wr_id}'";
echo $sql; exit;
//sql_query($sql);
코드로 sql 문 브라우저에 출력
3) 출력된 sql 문 adminer 에서 실행하여 문제없이 작동하는지 확인
카산
1년 전
마르스컴퍼니님의 의견에 동감합니다~~ 디버깅을 해봐야 하지만 코드를 작성하여 실행해보면 안되니~~
$sql = "DELETE FROM comp_tag WHERE bo_table = '{$bo_table}' AND wr_id = '{$wr_id}'";
echo $sql; exit;
//sql_query($sql); 의 코드를 실행하면 wr_id 값이 0 이 나옵니다~~ wr_id 값 자리에 게시글의 실제 wr_id 값을 넣으면 삭제가 되구요~` 삭제되는 게시글의 wr_id 값을 어떻게 넣을지를 몰라서~~
마르스컴퍼니
1년 전
$wr_id
대신
$write['wr_id']
로 될 가능성이 있습니다.
(/bbs/delete.php 를 잘 살펴야 됩니다.)

$sql = "DELETE FROM comp_tag WHERE bo_table = '{$bo_table}' AND wr_id = '{$write['wr_id']}'";
카산
1년 전
해결이 안되었지만 다른 질문이 필요해서 채택했습니다~~답변 감사합니다

댓글을 작성하려면 로그인이 필요합니다.

카산
1년 전

마르스컴퍼니님 $sql = "DELETE FROM comp_tag WHERE bo_table = '{$bo_table}' AND wr_id = '{$write['wr_id']}'"; 는 페이지 오류가 나고~~ 위 내용은 for 문 안에 넣고 $write['wr_id'] 를 $list[$i]['wr_id'] 로 하면 wr_id 는 찍히지만 삭제는 안됩니다~~

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플라이
1년 전

게시판 게시글 삭제시 태그 등록된 테이블도 삭제되도록 쿼리를 추가해 줘야 하는데 처리가 안되어 있는듯 보여집니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

카산
1년 전
네~~ 검색하며 delete.php 와 all_delete.php 에 아래와 같은 식으로 넣었는데 삭제가 되질 않네요~~
태그 등록 테이블은 comp_tag 이길래요~~ 태그를 제목 아래에 출력되게 하면 태그를 굳이 삭제하지 않아도될듯한데 이리저리 해봐도 제목 밑에 태그가 출력되게도 않되구요
// 태그 삭제
$sql = " DELETE FROM " . COMP_TAG . " WHERE wr_id = '{$write['wr_id']}' ";
sql_query($sql);

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인