전체 게시판에서 회원별로 댓글 2개까지만 쓸 수 있게 가능할까요?
본문
현재 아래 소스로 회원별로 각 게시글에 댓글을 한개씩만 쓸 수 있게 만들었습니다.
그런데 동시에 게시판 전체에서 회원별로 댓글을 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
<?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개까지만 작성할 수 있습니다.');
}
그렇다면 전체 게시판에 댓글 개수를 2개로 제한한다면 게시판 테이블을 다 불러와서 카운팅해서 처리해야 하는 부분이 있는데 그 방식은 체크하는 부분가운데 데이터가 많아지만 딜레이가 생길수 있기때문에
댓글 카운트를 회원테이블이 구분필드를 하나두어서 댓글 등록시 카운팅을 올려 체크하는 방식을 하시는게 체크하고 처리하는 과정이 부하를 덜 먹게 처리할듯 보입니다.
용도가 수강신청이면
수강신청용 테이블을 하나 만들어 보세요.