Q&A

특정게시판에 한 회원이 n개까지만 게시물을 등록하게 하고 싶습니다.

2023.07.11 04:12
132
0
CMS/프레임워크 Rhymix 2.1
개발 언어 PHP 7.4

특정게시판에 한 회원이 n개까지만 게시물을 등록하게하고 싶어 여기저기 검색해보면서 해보는 중입니다..

 

select count(member_srl) from table group by member_srl having count(*) < 3;

DB 자체에서 check문으로 막아보려고 해보는 중인데... check 조건을 어떻게 넣어야할지도 막막하더라구요...ㅠ

 

check문이나.. 라이믹스에서는 어떤 방법이 있을지 여쭤볼 수 있을까요..?

댓글 4

  • 2023.07.11 04:46 #1773993
    게시판에 회원이 작성한 게시물 수를 체크하고 싶으시다는 거죠?

    $act에 따라 변수 정보가 다르긴 할 텐데요.
    일단 모듈 번호는 $module_info->module_srl에 담겨 있다 가정하고,
    언급하신 회원은 로그인한 회원 당사자로서 $logged_info->member_srl로 식별할 수 있다면,

    $obj = new stdClass();
    $obj->member_srl = $logged_info->member_srl;
    $member_document_count = getModel('document')->getDocumentCount($module_info->module_srl, $obj);

    이런 식으로 하면 $member_document_count에 로그인한 회원 당사자의 게시물 작성수가 나올 것 같습니다.
  • 2023.07.11 09:51 #1774081
    감사합니다! 주신 답변대로 활용해보겠습니다!
  • 2023.07.11 04:56 #1774001
    $oDB = DB::getInstance();
    $stmt = $oDB->prepare("SELECT COUNT(*) as count FROM  documents WHERE member_srl = ?");
    $stmt->execute( [ $logged_info->member_srl ]);
    $totalCount = $stmt->fetch();
    echo $totalCount->count;

     

    GROUP BY나 HAVING 까지는 필요없을 것 같고.. 별다른 조건이 없다면, 이런 식으로 작성하면 됩니다. 게시판별로 다르게 계산하려면, WHERE 절에 module_srl에 대한 조건을 추가하시면 됩니다. 

  • 2023.07.11 09:51 #1774087
    감사합니다! 주신 답변대로 활용해보겠습니다!