한개 글을써야 댓글을 무조건 3개~5개 쓸수있습니다. (댓글1~2개 작성시 글작성 불가)
댓글 5개가 채워지면 다시 글을써야합니다.
해당 로직을 간단히 할 방법이 있을까요?
1. 첫글은 무조건 댓글이 아닌 글을쓰게함
2. 바로 이전글이 작성글이 있다면, 댓글을 허용
이때 댓글은 3개~5개 등록가능
* 이 부분 sql 문으로 어떻게 체크할수 있나요?
sql 로 처리하는 방법을 못찾아서 아래 방법도 고려중입니다.
따로 권한 테이블을 만들어서
댓글이 3개 처리될때 글쓰기 권한을 주고 5개 채워질때 댓글 권한을 막는 컨트롤 테이블을 만들까도
생각하고 있습니다. 별도 테이블을 구성하는게 안내켜서 다른방법 여쭤봅니다..
답변 5개 / 댓글 7개
우선 글 개수 확인 후 첫글 작성
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 = 아이디;
회원정보 여분필드 사용하는게 좋을 것 같습니다.
댓글 등록 할때마다 mb_1 에 1씩 증가 하면서 5개 되면은 1로 리셋
글쓰기 부분
if ( !$member['mb_1'] || $member['mb_1'] = 0 || $member['mb_1'] >=4) {
글쓰기 가능
}
댓글 부분
if (댓글 == 1 || 댓글 == 6){
댓글 금지
}
답변에 대한 댓글 4개
SELECT COUNT(*) FROM reply WHERE postId = 아이디;
이걸로 3개 확인 후 글 작성 허용 하시면 됩니다
답변에 대한 댓글 2개
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 )
답변을 작성하려면 로그인이 필요합니다.
SELECT COUNT(*) FROM reply WHERE postId = 아이디;
이렇게 하면 그 아이디에 등록한 모든 댓글수가 집계되는데요.
글을 쓴 이후부터 댓글을 다시 집계해야합니다..
제가 원하는것은 댓글 3개이상 채우게 되면 글을 또 쓸수있어야합니다. 댓글 5개채우면
더이상 댓글은 못달고..