테스트 사이트 - 개발 중인 베타 버전입니다

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

엔호 5년 전 조회 3,644

그누 보드5에서 게시글을 입력 받을 때 write.skin.php를 수정해서 date형태로 받고 해당 하는 정보를

wr_10에는 년도 wr_11에는 주차를 저장하고자 합니다.

 

그리고 이후에 년도와 주차를 이용해서 검색하고자 하는 게시판을 만들어야 합니다.

 

입력받는 폼은 write.shin.php를 수정해서 만들고 데이터가 날짜로 입력되는 것은 확인 했습니다.

 

문제는 해당 날짜의 주차를 어떻게 얻어오고 년도를 어떻게 얻어오고 해당하는 정보를 wr_10, wr_11에 어떻게 저장 하나요?

 

P.S. 제가 개발을 14년 전에 했다가, 그냥 사무 처리를 하고 있는데 예전에 개발해 봤다는 이유로 부서의 홈페이지를 만들어라는 명이 떨어져서   부랴 부랴 그누 보드를 학습하고 만들고 있습니다. 

앞으로도 상당히 초보적인 질문을 많이 할 것 같습니다.  이해해 주십시오 ^^

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
thiya11
5년 전

안녕하세요 

고생이 많으십니다. ^^;

 

우선 그누보드 기본 DB 테이블 접두사_write_테이블ID 테이블에는  wr_11 컬럼이 없는것 같습니다. 

컬럼을 추가하셨으면 있을것으로 예상하고 

 

첫번째 방법은 

스킨에만 넣어서 하는 방법도 있을듯하네요. 

write.skin.php 게시물 form 안에 추가 

단 역시 write_update.php wr_11관련이 있어야겠죠

아니면 wr_9 wr_10을 활용하면 되지 않을까요?

</p>

<p><input type="hidden" name="wr_10" value="<?php echo substr(G5_TIME_YMDHIS, 0, 4)); ?>"></p>

<p><input type="hidden" name="wr_11" value="<?php echo <code>date('W', G5_SERVER_TIME));</code> ?>"></p>

<p>

 

두번째 방법은 보통 스킨을 통해 /bbs/write_update.php 통해 게시판이 써집니다. 

거기 쿼리에 변경하시면 될듯합니다. 

insert 와 update 수정을 다 고려해야 할듯하고요 insert면 

(config.php 상수가 정의되어있어야 합니다.)

</p>

<p>$sql = "insert into $write_table</p>

<p>...</p>

<p>      wr_10 = '".G5_TIME_Y."',

      wr_11 = '".G5_TIME_WEEK."' ";</p>

<p>

 

그누보드 confing.php (시간상수 정의)를 활용하시거나 시간정의 추가하셔서 사용하시거나 주차도 상수 나오게 변경하셔도 될듯합니다. 

</p>

<p>/********************

    시간 상수

********************/

...생략

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));</p>

<p>//년도 예를 들어 추가한 상수</p>

<p>define('G5_TIME_Y',       substr(G5_TIME_YMDHIS, 0, 4));</p>

<p>//주차 상수</p>

<p>define('G5_TIME_WEEK',       date('W', G5_SERVER_TIME));</p>

<p>

 

주차는 간단히 

</p>

<p>$today = date("Y-m-d");

$today_week = date("W", strtotime($today));

echo $today.'
';

echo $today_week.'주차';</p>

<p>

 

config.php 손보지 않을때는 간단히 

</p>

<p>$sql = "insert into $write_table</p>

<p>...</p>

<p>      wr_10 = '".substr(G5_TIME_YMDHIS, 0, 4))."',

      wr_11 = '".<code>date('W', G5_SERVER_TIME))</code>."' ";</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

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

제 질문의 핵심은 날짜를 2020년 1월1일로 받으면 1주차
2020년 1월 8일을 입력 받으면 2주차
...
2020년 2월 6일로 입력받으면 6주차 등으로 데이터를 변환하는 방법을 묻는 것입니니다.
강대운
5년 전
더보기를 누르셔서 상세히 보시기 바랍니다.
더보기를 안누르셔서 질문에 질문처럼 보이셨을듯하네요 ^^
좋은 시간 되세요 ~~
엔호
5년 전
아 더보기를 안눌러서 그랬군요 ㅋㅋㅋ

무식해서 죄송합니다. 더보기를 눌러서 확인하고 채택 했습니다.

감사합니다. ^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인