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

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

QA

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

답변 3

본문

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

이 질문에 댓글 쓰기 :

답변 3

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


<?php
if (!defined("_GNUBOARD_")) exit;
 
// 해당 글의 태그 삭제
$sql = "DELETE FROM comp_tag WHERE bo_table = '{$bo_table}' AND wr_id = '{$wr_id}'";
sql_query($sql);

마르스컴퍼니님 답변 감사합니다 위의 내용을 스킨디렉토리에 delete.skin.php 로 저장하는 건가요~`? delete.skin.php 로 저장하고 글삭제해두 태그가 삭제되지 않네요~~ 태그 스킨을 테마에서 만들어서 일까요?

오류가 발생하거나, 기대한 작업이 일어나지 않을 때는..
원인을 찾고 해결하는 '디버깅' 작업을 해야 합니다.

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 에서 실행하여 문제없이 작동하는지 확인

마르스컴퍼니님의 의견에 동감합니다~~ 디버깅을 해봐야 하지만 코드를 작성하여 실행해보면 안되니~~
$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 값을 어떻게 넣을지를 몰라서~~

$wr_id
대신
$write['wr_id']
로 될 가능성이 있습니다.
(/bbs/delete.php 를 잘 살펴야 됩니다.)

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

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

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

마르스컴퍼니님 $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 는 찍히지만 삭제는 안됩니다~~

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 61,235
© SIRSOFT
현재 페이지 제일 처음으로