달력으로 날자를 입력 받고 입력받은 날짜의 년과 주차를 저장하고 조회할 때 보고자 합니다.

달력으로 날자를 입력 받고 입력받은 날짜의 년과 주차를 저장하고 조회할 때 보고자 합니다.

QA

달력으로 날자를 입력 받고 입력받은 날짜의 년과 주차를 저장하고 조회할 때 보고자 합니다.

본문

그누 보드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))."' ";

wr_1부터 wr_20까지 있습니다.--  wr1를 사용할 까 하다가 그냥  wr_11을 사용하는 것입니다. 데이터 필드는 있지만 값은 없습니다.

제 질문의 핵심은 날짜를 2020년 1월1일로 받으면  1주차
2020년 1월 8일을 입력 받으면 2주차
...
2020년 2월 6일로 입력받으면 6주차 등으로 데이터를 변환하는 방법을 묻는 것입니니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 13
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT