설정된 시간별로 표시해주기 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

설정된 시간별로 표시해주기 정보

설정된 시간별로 표시해주기

본문

안녕하세요......
wr_link1 필드에 시작날짜가 000000 입력됨
wr_6 필드에 시작시간이 00:00 입력됨

wr_link2 필드에 종료날짜가 000000 입력됨
wr_7 필드에 종료시간이 00:00 입력됨

이런식으로 정상적인 날짜및 시간이 입력되어있을때

1. 시작날짜와 시간이 되기전에는 "가는중"으로...
1. 시작날짜와 시작시간이 지난후에는 "진행중"으로...
2. 종료날짜와 종료시간이 지난뒤에는 "종료"라고 표시를......할려면 어떻게 해야하나요 ;;;;;;;

디비에서 값을 뽑아오는건 되어있습니다....어떻게 코드를 짜야하는지.....;;;;

답변 좀 부탁드립니다 (__)
  • 복사

댓글 전체

늦게까지 고생하시네요. ^^;
어느 화일에서 하시냐에 따라 다를테니.. list.skin.php라고 가정하면,

$starttime = strtotime("20".$list[$i][wr_link1]." ".$list[$i][wr_6]);
$endtime = strtotime("20".$list[$i][wr_link2]." ".$list[$i][wr_7]);
$now = time();
if($now < $starttime) { echo "가는중"; }
elseif($now < $endtime) { echo "진행중"; }
else { echo "종료"; }

정도가 될것 같네요. ^^
안녕하세요 전진님........답변 진심으로 감사드립니다. 아래처럼 해보니 종료라고만 나오네요.
혹시 날짜랑 시간이 안나오나 해서 $data[wr_link1] 랑  $data[wr_6] 랑 별도로 넣어봣는데
각각 날짜랑 시간이랑 뜨거든요.......;;;;;;


$starttime = strtotime("20".$data[wr_link1]." ".$data[wr_6]);
$endtime = strtotime("20".$data[wr_link2]." ".$data[wr_7]);
$now = time();
if($now < $starttime) { echo "가는중"; }
elseif($now < $endtime) { echo "진행중"; }
else { echo "종료"; }
음.. php timezone이 다를 수 있겠지만, 이미 그누보드에서 나오는 시간이 맞다면 위 코드는 잘 수행되어야 하는데요.. ^^;

한번
echo "Now: ".date("Ymd H:i")."<br/>";
echo "Start: 20".$data[wr_link1]." ".$data[wr_6]."<br/>";
echo "End: 20".$data[wr_link2]." ".$data[wr_7]."<br/>";
로 읽을 수 있는 문자로 비교해 보세요.
위 값이 맞는데도 결과값이 잘못되었는지 확인해보세요. ^^
$g4['time_ymdhis'] = date("YmdH:i", $g4['server_time']);
 $stime =  $data[wr_link1].$data[wr_6];
 $etime =  $data[wr_link2].$data[wr_7];

if ($g4[time_ymdhis] < $stime){ echo "[가는중] $from_date $data[wr_6]"; }
elseif ($g4[time_ymdhis] < $etime){ echo "[진행중] ∼ $to_date $data[wr_7]"; }
else{ echo "[종료]"; }

요렇게 해도 되지않나요?
일단 되긴하는데 ;;;;;;;;
앗, 날짜가 8자리 였어요?
"wr_link1 필드에 시작날짜가 000000 입력됨 "
라고 하시길래, 앞 두자리 없는 6자리 형식인줄 알고, 날짜 계산시에 "20" 을 붙이시라고 했었어요..^^;
네, 위 처럼 하시면 될것 같긴한데,
$g4['time_ymdhis']를 이용하시는 거는 안좋을 것 같습니다.
전역변수처럼 다른 곳에서도 사용하는 것이니, 내용의 포멧이 달라지면 안좋을듯..
아예 다른 이름 (예: $time_ymdhis)로 하시거나 $g4 배열에 넣으시려면 배열키를 다른 것으로 (예: $g4['time_ymdhis2']) 로 사용하실 것을 권합니다. ^^*
$time_ymdhi = date("YmdH:i", $g4['server_time']);
 $stime =  $data[wr_link1].$data[wr_6];
 $etime =  $data[wr_link2].$data[wr_7];

if (time_ymdhi < $stime){ echo "[가는중] $from_date $data[wr_6]"; }
elseif ($time_ymdhi < $etime){ echo "[진행중] ∼ $to_date $data[wr_7]"; }
else{ echo "[종료]"; }

이렇게 사용하란거죠?
정말 감사합니다 전진님 ^^
© SIRSOFT
현재 페이지 제일 처음으로