Notice
Recent Posts
Recent Comments
Tags
- asp.net Select
- 타임피커
- asp.net core Select
- 하드 윈도우 복사
- javascript 바코드스캔
- 하드 마이그레이션
- XSS PHP
- jquery 바코드
- django 엑셀불러오기
- 말줄임표시
- 맥 오라클설치
- 바코드 생성하기
- javascript redirection
- ViewData
- jquery 바코드생성
- 파일업로드 체크
- ViewBag
- javascript 바코드 생성
- 파일업로드 유효성체크
- 404에러페이지
- ASP.Net Core 404
- SSD 복사
- XSS방어
- TempData
- 바코드 스캔하기
- asp.net dropdownlist
- 강제이동
- Mac Oracle
- php 캐쉬제거
- javascript 유효성체크
웹개발자의 기지개
[PHP] 유용한 실무팁2 - 이벤트 기간 설정 (이벤트중,이벤트종료) Timestamp 활용 본문
PHP
[PHP] 유용한 실무팁2 - 이벤트 기간 설정 (이벤트중,이벤트종료) Timestamp 활용
http://portfolio.wonpaper.net 2022. 12. 26. 16:02
이벤트 기간(시작일, 종료일) 을 지정하고 그사이에 현재 아이템의 이벤트 상태를 나타내주는 실무팁을 알아보자.
이를 위해 핵심은 DB내에 Timestampe 형태로 날짜를 활용하는게 포인트이다.
String 형의 문자 날짜를 Timestampe 로 간단히 변환 시킬수 있는 놈이 strtotime() PHP 함수가 있다.
우선 이벤트박스 날짜 input 박스를 입력할 때 UI 를 고려하여 달력 jquery 를 활용하였다.
[ 이벤트쓰기 php 페이지 ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<link rel="stylesheet" href="//code.jquery.com/ui/1.13.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-3.6.0.js"></script>
<script src="https://code.jquery.com/ui/1.13.1/jquery-ui.js"></script>
시작일 : <input id="datepicker1" name="spare1" type="text" style="width:200px;font-size:9pt;">
종료일 : <input id="datepicker2" name="spare2" type="text" style="width:200px;font-size:9pt;">
<script>
$(function() {
$("#datepicker1,#datepicker2").datepicker({
showMonthAfterYear:true,
monthNamesShort: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'],
dayNamesMin: ['일','월','화','수','목','금','토'],
showAnimation: 'slider',
dateFormat: 'yy-mm-dd',
showOtherMonths: true,
selectOtherMonths: true,
changeMonth: true,
changeYear: true
});
});
</script>
|
cs |
[ 이벤트 목록 페이지 ] - 이벤트 진행 상태 표시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<?
$start_date = "2022-12-01";
$end_date = "2022-12-31";
$start_dateT = strtotime($start_date);
$end_dateT = strtotime($end_date);
if ($end_dateT) $end_dateT += 86400;
$todayT = time(); // 필자 글등록 오늘시점 2022-12-26
//echo $todayT . " / " . $start_dateT . " / " . $end_dateT . "<br>";
if ($start_date || $end_date) {
?>
<br>이벤트 : <?=$start_date?> ~ <?=$end_date?>
<br>
<?
if ($start_dateT >= $todayT) {
echo "<span style=''>이벤트 기간이 아닙니다.</span>";
} else if ($start_dateT < $todayT && $end_dateT > $todayT) {
echo "<span style='color:green;'>이벤트 진행중</span>";
} else if ($end_dateT <= $todayT) {
echo "<span style='color:red;'>이벤트 지남</span>";
}
} // end of if
?>
|
cs |
1라인과 2라인은 DB 에서 불러온 시작일 text 종료일 text 를 이용하면된다.
날짜에 대하여 timestamp 값을 받아서 오늘의 $todayT 값이 시작일과 종료일 timestampe 에서 어느 위치에 있느냐에 따라서 진행형태를 나타내주면 된다.
'PHP' 카테고리의 다른 글
[PHP] 글내용 부분 정규표현식으로 처리하기 (0) | 2023.01.18 |
---|---|
[PHP] 캐쉬 기능 해제하기 no cache (0) | 2022.12.30 |
[PHP] 워크넷 open API 를 이용하여 xml 소스에서 내용 읽기 2 - curl 이용 (0) | 2022.12.13 |
[PHP] 유용한 실무팁1 - 주소 (시도/구군) 을 ajax 처리하기 (0) | 2022.10.25 |
[PHP] 태그사이의 공백제거, 엔터키 개행문자 제거 - 정규표현식 (0) | 2022.09.19 |
Comments