달력으로 날자를 입력 받고 입력받은 날짜의 년과 주차를 저장하고 조회할 때 보고자 합니다.
본문
그누 보드5에서 게시글을 입력 받을 때 write.skin.php를 수정해서 date형태로 받고 해당 하는 정보를
wr_10에는 년도 wr_11에는 주차를 저장하고자 합니다.
그리고 이후에 년도와 주차를 이용해서 검색하고자 하는 게시판을 만들어야 합니다.
입력받는 폼은 write.shin.php를 수정해서 만들고 데이터가 날짜로 입력되는 것은 확인 했습니다.
문제는 해당 날짜의 주차를 어떻게 얻어오고 년도를 어떻게 얻어오고 해당하는 정보를 wr_10, wr_11에 어떻게 저장 하나요?
P.S. 제가 개발을 14년 전에 했다가, 그냥 사무 처리를 하고 있는데 예전에 개발해 봤다는 이유로 부서의 홈페이지를 만들어라는 명이 떨어져서 부랴 부랴 그누 보드를 학습하고 만들고 있습니다.
앞으로도 상당히 초보적인 질문을 많이 할 것 같습니다. 이해해 주십시오 ^^
답변 1
안녕하세요
고생이 많으십니다. ^^;
우선 그누보드 기본 DB 테이블 접두사_write_테이블ID 테이블에는 wr_11 컬럼이 없는것 같습니다.
컬럼을 추가하셨으면 있을것으로 예상하고
첫번째 방법은
스킨에만 넣어서 하는 방법도 있을듯하네요.
write.skin.php 게시물 form 안에 추가
단 역시 write_update.php wr_11관련이 있어야겠죠
아니면 wr_9 wr_10을 활용하면 되지 않을까요?
<input type="hidden" name="wr_10" value="<?php echo substr(G5_TIME_YMDHIS, 0, 4)); ?>">
<input type="hidden" name="wr_11" value="<?php echo date('W', G5_SERVER_TIME)); ?>">
두번째 방법은 보통 스킨을 통해 /bbs/write_update.php 통해 게시판이 써집니다.
거기 쿼리에 변경하시면 될듯합니다.
insert 와 update 수정을 다 고려해야 할듯하고요 insert면
(config.php 상수가 정의되어있어야 합니다.)
$sql = "insert into $write_table
...
wr_10 = '".G5_TIME_Y."',
wr_11 = '".G5_TIME_WEEK."' ";
그누보드 confing.php (시간상수 정의)를 활용하시거나 시간정의 추가하셔서 사용하시거나 주차도 상수 나오게 변경하셔도 될듯합니다.
/********************
시간 상수
********************/
...생략
define('G5_SERVER_TIME', time());
define('G5_TIME_YMDHIS', date('Y-m-d H:i:s', G5_SERVER_TIME));
define('G5_TIME_YMD', substr(G5_TIME_YMDHIS, 0, 10));
define('G5_TIME_HIS', substr(G5_TIME_YMDHIS, 11, 8));
//년도 예를 들어 추가한 상수
define('G5_TIME_Y', substr(G5_TIME_YMDHIS, 0, 4));
//주차 상수
define('G5_TIME_WEEK', date('W', G5_SERVER_TIME));
주차는 간단히
$today = date("Y-m-d");
$today_week = date("W", strtotime($today));
echo $today.'<br/>';
echo $today_week.'주차';
config.php 손보지 않을때는 간단히
$sql = "insert into $write_table
...
wr_10 = '".substr(G5_TIME_YMDHIS, 0, 4))."',
wr_11 = '".date('W', G5_SERVER_TIME))."' ";