글과 댓글 등록 비율 sql

글과 댓글 등록 비율 sql

QA

글과 댓글 등록 비율 sql

본문

한개 글을써야 댓글을 무조건 3개~5개 쓸수있습니다. (댓글1~2개 작성시 글작성 불가)

댓글 5개가 채워지면  다시 글을써야합니다.

 

해당 로직을 간단히 할 방법이 있을까요?

 

1. 첫글은 무조건 댓글이 아닌 글을쓰게함

2. 바로 이전글이 작성글이 있다면,  댓글을 허용

   이때 댓글은 3개~5개  등록가능   

   * 이 부분 sql 문으로  어떻게 체크할수 있나요?

 

 

sql 로 처리하는 방법을 못찾아서 아래 방법도 고려중입니다.

 

따로 권한 테이블을 만들어서  

댓글이 3개 처리될때 글쓰기 권한을 주고 5개 채워질때 댓글 권한을 막는  컨트롤 테이블을 만들까도

생각하고 있습니다.   별도 테이블을 구성하는게 안내켜서  다른방법 여쭤봅니다..

 

 

이 질문에 댓글 쓰기 :

답변 5

우선 글 개수 확인 후 첫글 작성

SELECT COUNT(*) FROM board;

댓글 작성

INSERT INTO reply (postId, content)
VALUES (SELECT id FROM post ORDER BY id DESC LIMIT 1, '댓글');

그리고 댓글 확인

SELECT COUNT(*) FROM reply WHERE postId = 아이디;

답변 감사합니다.
SELECT COUNT(*) FROM reply WHERE postId = 아이디;
이렇게 하면 그 아이디에 등록한 모든 댓글수가 집계되는데요.
글을 쓴 이후부터 댓글을 다시 집계해야합니다..

제가 원하는것은 댓글 3개이상 채우게 되면 글을 또 쓸수있어야합니다. 댓글 5개채우면
더이상 댓글은 못달고..

SELECT COUNT(*) FROM reply WHERE postId = 아이디;

이걸로 3개 확인 후 글 작성 허용 하시면 됩니다

말씀하신 내용을 제가 잘 이해한건지 모르겠습니다..
1회성이 아닌  계속 등록되어야합니다

글한개, 댓글3~5개, 글한개, 댓글 3~5개... ( 즉  글과 댓글의 비율이라 표현해야할지..)

말씀해주신  쿼리는 3개 확인 후 글을 작성하게 했다면,

계속 해당 쿼리 결과값은 3,4,5... 계속 증가하겠죠..

즉 SELECT COUNT(*) FROM reply WHERE postId = 아이디 and (글을 다시 쓴 이후시점 )
이 필요하다 생각합니다.

말씀해주신 내용 답변달면서 쿼리가 만들어졌네요
감사합니다.
즉 SELECT COUNT(*) FROM reply WHERE postId = 아이디 and (글을 다시 쓴 이후시점 )


SELECT COUNT( * ) ct FROM 테이블 where no > ( SELECT no FROM 테이블 WHERE 1 AND memb_id = 'test' and type =  '글쓰기' order by no desc LIMIT 0,1 )

회원정보 여분필드 사용하는게 좋을 것 같습니다. 

댓글 등록 할때마다 mb_1 에 1씩 증가 하면서 5개 되면은 1로 리셋

글쓰기 부분

if ( !$member['mb_1'] || $member['mb_1'] = 0 || $member['mb_1'] >=4) { 
    글쓰기 가능
}

댓글 부분

if (댓글 == 1 || 댓글 == 6){
    댓글 금지
}

답변감사합니다.

그누보드는 아니지만  비슷한 개념으로  원글에 언급한 방법으로 보여집니다.
즉 권한 테이블 만들어서 사용하면 될거같은데..  다른 방법을 찾고있었습니다.

댓글 3개 작성시 글쓰기기능 활성화,  댓글 5번째  댓글기능 비활성화 시키고, 다시 초기화..

다시한번 감사드립니다. 좀 더 고민해야겠어요

그누보드가 아니라고 하더라도 로그인정보 측에 담아두는걸 추천 드립니다.

다른 테이블을 사용한다고 하면 매번
쿼리를 한번 더 날려야 하니
그냥 로그인 정보를 불러올때 한번에 불러오는게 속도면에서도 나을 듯 합니다.

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

회원로그인

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