2012-06-12 2 views
2

그래서 내 웹 사이트 (블로그 스타일)에 주석 섹션이 있으므로 모든 게시물에 주석 섹션이 있습니다.삭제 된 레코드가 마지막 레코드인지 확인하는 방법 MySQL PHP

나는 테이블 '게시물'필드 (post_id를, isComment, 제목, 타임 스탬프, 우편 등)

isComment이 게시물에 의견이있는 경우를 말한다 부울 값을 가지고있다. 0이면 아무런 설명도 검색하거나 표시하지 않습니다. 1이면 표제가 해당 주석의 주석을 쿼리합니다.

또한 필드가있는 테이블의 의견 '(comment_id, post_id를, 생성 등이 ..)

post_id를이 주석에 해당하는 게시물입니다있다.

현재 코멘트를 제거하는 쿼리는 다음과 같습니다

"REMOVE FROM comments WHERE comment_id = '$id';" 

내가 알고 싶은, 댓글이 마지막 코멘트는 해당 게시물에 해당 된 삭제 여부를 확인 할 수있는 방법이 있다면 무엇입니까? 그렇다면 해당 게시물의 isComment 값을 0으로 변경합니다.

답변

1

댓글을 삭제할 때마다 해당 게시물의 댓글 수를 찾기 위해 검색어를 실행할 수 있습니다.

같은 것.

select count(*) from comments where post_id = (select post_id from comments where comment_id='$id') 

// 원하는 경우 쿼리를 최적화 할 수 있습니다.

+0

그래, 내가 보낸 쿼리의 양을 최소화하고 싶었는데, 거기에 트릭을하는 것 같다 - 고마워! – 8guadalupe8

0

해당 게시물의 모든 의견을 쿼리합니다. 행이 반환되지 않으면 isQuery 플래그를 다른 쿼리로 다시 설정하십시오. (데이터베이스를 사용하여 함수를 사용하여 행 수를 계산하고 그에 따라 작동 할 수 있습니다.)

+0

이것은 내가하고 있었던 것이고, 더 효율적인 방법이 있는지 궁금해하고 있었지만 어쨌든 감사합니다! – 8guadalupe8

0

이 문제를 해결하는 데는 몇 가지 방법이 있습니다. 주석을 제거 할 때 이미 코멘트 수있는 경우에 무언가가 실제로 삭제하는 방법 경우, 당신이 결정하는 mysql_affected_rows(...) 또는 mysqli_affected_rows(...)를 호출 할 수 있습니다,

SELECT count(*) FROM comments WHERE post_id = '$id' 

를 또는 첫째, 당신은 단지 왼쪽 얼마나 많은 셀 수하고 그에 따라 행동 많은.

또한 귀하의 원래 검색어를 믿습니다. 귀하의 구문은 삭제 대신 삭제되어야한다고 생각합니까?

DELETE FROM comments WHERE comment_id = '$id'; 
+0

옙 내 잘못 입력 제거! 감사! – 8guadalupe8

관련 문제