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

전체 게시판에서 회원별로 댓글 2개까지만 쓸 수 있게 가능할까요? 채택완료

카라카스 2년 전 조회 1,579

현재 아래 소스로 회원별로 각 게시글에 댓글을 한개씩만 쓸 수 있게 만들었습니다.

그런데 동시에 게시판 전체에서 회원별로 댓글을 2개까지만 달게 할 수 있을까요?

 

전문가님들의 도움 부탁드립니다....ㅠ.ㅠ

 

<? 
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 

$mb_id  = $member['mb_id']; // g5_write_xxx 필드에 mb_id가 있어서 없어도 무방한듯
$sql    = " select count(*) as cnt from $write_table
                where wr_parent = '$wr_id' and wr_is_comment ='1'
                and mb_id = '$mb_id' ";
$row    = sql_fetch($sql);
$sql2   = " delete from  $write_table where wr_is_comment ='1' and wr_id = '$comment_id' ";
//echo $sql; exit;
//echo $sql2; exit;
if ($row['cnt'] > "1" ){
        sql_query($sql2); //작성한 댓글 삭제
        sql_query(" update {$write_table} set wr_comment = wr_comment - 1, wr_last = '{$row['wr_last']}' where wr_id = '{$write['wr_parent']}' ");
        alert('수강신청 한번만 가능합니다.');
        exit;
}
?> 
 

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

답변 3개

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

</p>

<p><?php

if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 

 

$mb_id = $member['mb_id']; 

$sql = " 

  select count(*) as cnt 

    from {$write_table}

   where wr_is_comment = '1'

     and mb_id = '{$mb_id}' 

";

 

$row = sql_fetch($sql);

 

if ($row['cnt'] > 2 ) {    

  alert('현 게시판에서 총 댓글은 2개까지만 작성할 수 있습니다.');  

}</p>

<p>

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

답변에 대한 댓글 1개

카라카스
2년 전
감사합니다...
위의 소스를 참고해서 gr_id 조건문으로 해결했습니다.
고민해결해 주셔서 다시한번 감사합니다....

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

용도가 수강신청이면

수강신청용 테이블을 하나 만들어 보세요.

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

답변에 대한 댓글 2개

카라카스
2년 전
답글 감사합니다. 그런데 이미 운영중인 홈페이지라 수강신청 테이블을 다시 만들기에는 일이 너무 많아지네요...ㅠ.ㅠ
엑스엠엘
2년 전
용도가 수강 신청이면
여러 가지 정보를 저장해야 될 듯하네요
그렇다면 별도 테이블이 있는 것이
결국은 일을 줄이게 될 겁니다

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

플라이
2년 전

그렇다면 전체 게시판에 댓글 개수를 2개로 제한한다면 게시판 테이블을 다 불러와서 카운팅해서 처리해야 하는 부분이 있는데 그 방식은 체크하는 부분가운데 데이터가 많아지만 딜레이가 생길수 있기때문에
댓글 카운트를 회원테이블이 구분필드를 하나두어서 댓글 등록시 카운팅을 올려 체크하는 방식을 하시는게 체크하고 처리하는 과정이 부하를 덜 먹게 처리할듯 보입니다.

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

답변에 대한 댓글 1개

카라카스
2년 전
답글 감사합니다. 회원테이블에 필드에 카운팅...새로운 방법이네요...고민을 해봐야겠네요...^^

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

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

로그인