Tip & Tech

활용팁

홈 > 회원포럼 > 활용팁
활용팁

수강안내 게시판과 수강신청 게시판 연동방법

M 한별아빠 26 2110 11 0

수강안내 게시판과 수강신청 게시판, 즉 게시판 2개를 연동하는 방법 중 하나입니다.


참고로 수강 이외에 안내와 신청이 구분되어 있는 경우, 예를들어 대회, 세미나, 학회 등의 안내와 접수의 경우에도 활용할 수 있을 것입니다.


※ 전제사항


- 수강안내 게시판은 여분필드 1번(마감체크용), 여분필드 2번(마감날짜), 여분필드 3번(수강인원제한) 사용을 전제로 했습니다.

- 수강신청 게시판은 여분필드 1번(수강안내 게시판아이디), 여분필드 2번(수강안내 게시물아이디) 사용을 전제로 했습니다.


1. 먼저 수강안내 게시판의 글내용에 아래와 같이 수강신청 버튼을 넣습니다.


<a class="btn btn-red" href="<?php echo G5_BBS_URL;?>/write.php?bo_table=수강신청게시판아이디&amp;wr_1=<?php echo $bo_table;?>&amp;wr_2=<?php echo $wr_id;?>">
신청하기
</a>


2. 그리고 수강신청 게시판의 보드스킨 내 write.skin.php 파일 상단 php 영역에 아래와 같이 체크로직을 넣어 줍니다.


// 사용 여분필드
// wr_1 = 수강안내 게시판 아이디(bo_table)
// wr_2 = 수강안내 게시물 아이디(wr_id)
if($w == "") { // 신청시만 체크
 // 회원만 가능
 if($is_guest) {
  alert('회원만 신청이 가능합니다.');
 }
 // 직접등록 제한 - 수강안내 페이지에서만 신청가능
 if(!$wr_1 || !$wr_2) {
  alert('수강안내 페이지에서만 신청이 가능합니다.');
 }
 
 // 수강안내 게시물 체크 - $wr1 배열에 수강안내 게시물 정보 담아 활용
 $wr1_table = $g5['write_prefix'] . $wr_1; // 수강안내 게시판 테이블 이름
 $wr1 = sql_fetch(" select * from $wr1_table where wr_id = '$wr_2' ", false);
 if(!isset($wr1['wr_id']) || !$wr1['wr_id']) {
  alert('등록되지 않은 수강안내입니다.');
 }
 // 이미 신청했는지 체크
 $row = sql_fetch(" select wr_id from $write_table where wr_is_comment = '0' and wr_1 = '$wr_1' and wr_2 = '$wr_2' and mb_id = '{$member['mb_id']}' ", false);
 if($row['wr_id']) {
  // 해당 신청서로 이동
  alert('이미 신청을 하신 강의입니다.', G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&amp;wr_id='.$row['wr_id']);
 }
 // 수강안내 게시물이 종료되었는지 체크
 // 분류명 또는 여분필드 활용하여 마감 체크 ex) 수강안내 분류명이 '마감' 또는 여분필드 1번이 '마감'일 때
 if($wr1['ca_name'] == '마감' || $wr1['wr_1'] == '마감') {
  alert('마감되어 신청이 불가능합니다.');
 }
 // 여분필드 등 활용한 마감체크 ex) 수강안내 여분필드 2번에 마감일을 등록하고 마감일 형태는 20170911 형태일 때
 if((int)date("Ymd", G5_SERVER_TIME) > (int)$wr1['wr_2']) {
  alert('마감되어 신청이 불가능합니다.');
 }
 // 수강인원 체크 ex) 수강안내 여분필드 3번에 신청가능인원 등록
 $people_limit = (int)$wr1['wr_3'];
 if($people_limit) {
  $row = sql_fetch(" select count(*) as cnt from $write_table where wr_is_comment = '0' and wr_1 = '$wr_1' and wr_2 = '$wr_2' ", false);
  if((int)$row['cnt'] >= $people_limit) {
   alert('수강인원이 다 차서 신청이 불가능합니다.');
  }
 }
 // 신청게시판 여분필드에 수강안내에서 넘어온 wr_1, wr_2 값 담기
 $write['wr_1'] = $wr_1;
 $write['wr_2'] = $wr_2;
}


3. 마지막으로 수강신청 게시판의 쓰기 form 에 아래 여분필드를 추가해 줍니다.


<input type="hidden" name="wr_1" value="<?php echo $write['wr_1'];?>">
<input type="hidden" name="wr_2" value="<?php echo $write['wr_2'];?>">


4. 테스트 후 문제가 있으면 댓글로 남겨 주세요.ㅠㅠ


26 Comments
4 채군아 02.14 20:21  
댓글내용 확인
M 한별아빠 02.14 20:25  
댓글내용 확인
4 채군아 02.14 20:29  
댓글내용 확인
M 한별아빠 02.15 00:12  
35라인의 이후 수장인원 체크로직을 수강안내쪽에 넣으면 될 듯... 해당 로직이 수강신청한 인원이니... 단, 넣을 때 DB는 수강신청쪽 게시판으로 지정해 줘야 되구요.

참고로 이것도 위 코드에 내용 다 있습니다. 신청쪽에서 안내쪽 데이타 참고하는 것 반대로 하면 되니...
4 채군아 02.15 00:35  
댓글내용 확인
4 채군아 02.15 07:48  
댓글내용 확인
4 채군아 02.15 12:36  
댓글내용 확인
M 한별아빠 02.15 13:25  
위 코드 15라인 참고해 보세요.
4 muto 02.28 17:48  
댓글내용 확인
M 한별아빠 03.01 18:25  
댓글내용 확인
4 muto 03.02 17:29  
네..확인해보도록하겠습니다.
제목
최근 글
최근 댓글
Facebook Twitter GooglePlus KakaoStory KakaoTalk NaverBand