Tip & Tech

활용팁

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

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

M 한별아빠 15 1217 9 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. 테스트 후 문제가 있으면 댓글로 남겨 주세요.ㅠㅠ


15 Comments
16 선구자 09.04 20:44  
감사합니다.
15 지나잘해 09.05 07:28  
추천누르고 스크랩합니다
11 잊지말자 09.05 08:09  
감사합니다.
7 비즈팔 09.06 14:16  
감사합니다.
2 지율아빠 09.06 23:11  
저때문에 한별아빠님이 고생하시는듯 하여..죄송할따름입니다..ㅜ.ㅜ
8 근두운 09.15 03:14  
수강안내 게시판이 따로 있었나요?
ㅜㅜ
M 한별아빠 09.15 17:45  
없어요. 질문하신 분 내용이 그래서 답변 드린 것 뿐이라...
15 신비 09.23 20:21  
이런 게 머리에서 술술 막 나오시는 건가요?
M 한별아빠 09.24 00:03  
어... 경험이라고 보면 맞겠죠. 웹쪽으로 없지만, 과거에 백화점 문화센터나 그룹의 인재개발원 관련해서는 실무총괄한 적이 몇 번 있어서...ㅠㅠ
15 신비 09.24 00:37  
그러시군요. 저는 이상하게 코드들이 머리에 남지가 않네요.
개발자 타입이 아닌가봐용.ㅎㅎ
HTML CSS 코드는 머리에 남아서 바로 코딩 되는데,
PHP SQL 관련 코드들은 이상하게 머리에 안 남네요.
그래서, 매번 찾아서 써먹을려니,,,속도가 거북이 걸음이네요.
그래도, 이렇게 안내를 해주시니까, 헤메는 시간이 많이 주네요.
감사드려요 ~~~

Congratulation! You win the 49 Lucky Point!

M 한별아빠 09.24 01:23  
음... 저도 개발과 상관없는데... 밑에 IT파트야 있었지만, 사실 개발자가 아니라 관리직이고, 개발이야 SI에서 다 하죠.ㅠㅠ
15 신비 09.24 01:49  
개발도 아닌데, 왜 이리 코딩을 잘 하시는거에요. ㅋㅋ
게다가, 디자인 센스도.....
2 이모음 10.19 18:38  
근데 수강 신청 게시판은 어디에 있는데요?
M 한별아빠 10.20 00:14  
없습니다. 연동에 대해서 설명드릴려고 예를 든 것 뿐...ㅠㅠ
2 이모음 10.20 00:55  
아 그렇군요 알겠습니다
제목
최근 글
최근 댓글
Facebook Twitter GooglePlus KakaoStory NaverBand