PHP Checking Work Day , Holiday ตรวจสอบวันหยุด และวันหยุดราชการ ตอนที่ 1

โดย SONGCHAI SAETERN

PHP Checking Work Day , Holiday ตรวจสอบวันหยุด และวันหยุดราชการ



สำหรับวิดีโอนี้จะนำเสนอตัวอย่างการเขียนโค้ดตรวจสอบวันหยุด โดยจะมีเนื้อหาเกี่ยวกับการหาจำนวนวันในระหว่างช่วงวันที่ 2 วันที่กำหนดไว้ จะได้เรียนรู้เกี่ยวกับฟังก์ชั่น strtotime() ที่ใช้แปลงวันที่เป็นวันใรรูปแบบเวลา เพื่อใช้คำนวณ การใช้ date("w", strtotime($date)) เพื่อหาค่าวันประจำสัปดาห์





[Source Code]

<html>
<head>
<meta charset="UTF-8">
<title>[REVIEW BY Cyberman] ThaiCreate.Com Tutorial</title>
</head>
<body>
<?php
function CheckPublicHoliday($strChkDate)
{
$objConnect = mysqli_connect("localhost","tobedev","abcd.1234") or die("Error Connect to Database");
$objDB = mysqli_select_db($objConnect, "test");
$strSQL = "SELECT * FROM public_holiday WHERE PublicHoliday = '".$strChkDate."' ";
$objQuery = mysqli_query($objConnect, $strSQL);
$objResult = mysqli_fetch_array($objQuery);
if(!$objResult)
{
return false;
}
else
{
return true;
}
mysqli_close($objConnect);
}

$strStartDate = "2017-05-01";
$strEndDate = "2017-05-15";
$intWorkDay = 0;
$intHoliday = 0;
$intPublicHoliday = 0;
$intTotalDay = ((strtotime($strEndDate) - strtotime($strStartDate))/  ( 60 * 60 * 24 )) + 1;
while (strtotime($strStartDate) <= strtotime($strEndDate)) {
$DayOfWeek = date("w", strtotime($strStartDate));
if($DayOfWeek == 0 or $DayOfWeek ==6)  // 0 = Sunday, 6 = Saturday;
{
$intHoliday++;
echo "$strStartDate = <font color=red>Holiday</font><br>";
}
elseif(CheckPublicHoliday($strStartDate))
{
$intPublicHoliday++;
echo "$strStartDate = <font color=orange>Public Holiday</font><br>";
}
else
{
$intWorkDay++;
echo "$strStartDate = <b>Work Day</b><br>";
}
$strStartDate = date ("Y-m-d", strtotime("+1 day", strtotime($strStartDate)));
}
echo "<hr>";
echo "<br>Total Day = $intTotalDay";
echo "<br>Work Day = $intWorkDay";
echo "<br>Holiday = $intHoliday";
echo "<br>Public Holiday = $intPublicHoliday";
echo "<br>All Holiday = ".($intHoliday+$intPublicHoliday);
?>
<br/>
</body>
</html>



--
-- Database: `test`
--
-- --------------------------------------------------------
--
-- Table structure for table `public_holiday`
--
CREATE TABLE `public_holiday` (
  `FisYear` int(4) NOT NULL,
  `PublicHoliday` date NOT NULL,
  `Descripiton` varchar(100) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Dumping data for table `public_holiday`
--
INSERT INTO `public_holiday` (`FisYear`, `PublicHoliday`, `Descripiton`) VALUES
(2017, '2017-05-04', 'วันหยุดที่ 1'),
(2017, '2017-05-12', 'วันหยุดที่ 2');
--
-- Indexes for dumped tables
--
--
-- Indexes for table `public_holiday`
--
ALTER TABLE `public_holiday`
  ADD PRIMARY KEY (`FisYear`,`PublicHoliday`);

ที่มา :  http://www.thaicreate.com/community/php-workday-holiday-sunday-saturday.html


ติดตามตัวอย่างตอนที่ 2 ที่นี่

PHP Checking Work Day , Holiday ตรวจสอบวันหยุด และวันหยุดราชการ ตอนที่ 2


PHP CI MANIA PHP Code Generator 
โปรแกรมช่วยสร้างโค้ด ลดเวลาการเขียนโปรแกรม เขียนโปรแกรมง่ายและสะดวกขึ้น
สนใจสั่งซื้อราคาสุดคุ้ม >> http://fastcoding.phpcodemania.com/