게시판명 > 분류명 일 경우 분류 당 게시 글 갯수 제한 방법 문의 드립니다.
본문
안녕하세요..고수님들
게시판을 생성해서 등록할 수 있는 갯수를 제한하느라고 write.skin.php에 아래와 같은 코드로 사용 중인데요.
if ($w != 'u'){
if($board['bo_count_write'] >=3 ) {
alert('본 게시판은 3개까지만 등록할 수 있습니다.');
}
}
이 것을 게시판이 아닌 분류(ca_name) 별로 제한 하려고 합니다. 위의 코드 대신 어떻게 만들어야 하는지 도움 주시면 고맙겠습니다.
!-->답변 3
extend/user.config.php
function hook_write_update_before($board, $wr_id, $w, $qstr) {
global $g5, $ca_name;
if(empty($w) == false || $board['bo_use_category'] != '1') {
return true;
}
$cnt = 3;
$tbl = $g5['write_prefix'] . $board['bo_table'];
$sql = " select count(1) cnt from ${tbl} where wr_is_comment = 0 and ca_name = '{$ca_name}' ";
$data = sql_fetch($sql);
if ($data['cnt'] >= $cnt) {
alert('Request Unavailable (limit count reached: ' . $cnt . ')');
return false;
}
return true;
}
add_event('write_update_before', 'hook_write_update_before', 10, 4);
분류리스트에서 3회 이상인 분류를 제거하고 남은 분류만 선택 가능 하게 하면 됩니다
1. write.skin.php 상단 php부분에 넣기
$caStr = $board['bo_category_list'];
$qq =sql_query("SELECT ca_name, count(*) as cnt FROM $write_table group by ca_name", true);
while($row=sql_fetch_array($qq) ){
if($row['cnt'] >=3) $caStr = str_replace($row['ca_name'],'', $caStr); //3회 이상은 제거
}
2. 하단 자바스크립트 부분에 넣기
castr="<?php echo $caStr;?>";
$(function(){
$('#ca_name').change( function(){ caname = $(this).val();
if( castr.indexOf(caname) <0) {alert("등록 횟수를 초과한 분류"); $(this).val(''); }
});
});
if($ca_name) {
$sql = "SELECT count(*) as cnt FROM {$write_table} where ca_name='$ca_name' ";
$result = sql_query($sql);
while($row = sql_fetch_array($result)) {
if($row['cnt'] >= 3) {
alert($ca_name.'분류는 3개까지만 등록할 수 있습니다.');
}
}
}
답변을 작성하시기 전에 로그인 해주세요.