DATEDIFF คำนวณวันที่ระหว่างวันที่เริ่มกับวันที่สิ้นสุด PHP + MySQLi
Workshop สอนการคำนวณวันที่ระหว่างวันที่เริ่มต้นและวันที่สิ้นสุด ในตารางเดียวกัน
ก่อนอื่นเราต้องสร้างฐานข้อมูลขึ้นมาก่อน ตั้งชื่อว่า date_test แล้วจะมี code สร้างตารางฐานข้อมูลมาให้
เมื่อสร้างตารางเสร็จแล้วก็จะได้ตารางชื่อว่า borrowreturn ซึ่งจะเก็บข้อมูล 2 ข้อมูล คือ เก็บวันที่เริ่มและวันที่สิ้นสุด
Code สร้างตารางฐานข้อมูล
1 2 3 4 5 6 7 8 9 10 11 12 |
CREATE TABLE `borrowreturn` ( `borrowID` int(11) NOT NULL, `StartDate` date NOT NULL, `EndDate` date NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ALTER TABLE `borrowreturn` ADD PRIMARY KEY (`borrowID`); ALTER TABLE `borrowreturn` MODIFY `borrowID` int(11) NOT NULL AUTO_INCREMENT; COMMIT; |
เมื่อสร้างตารางเสร็จแล้วขั้นตอนต่อไปคือการสร้างฟอร์มกรอกวันที่ ตั้งชื่อไฟล์ว่า index.php
Code index.php
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
<!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <!-- Optional theme --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> <!-- Latest compiled and minified JavaScript --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> <?php $con= mysqli_connect("localhost","root","","date_test") or die("Error: " . mysqli_error($con)); mysqli_query($con, "SET NAMES 'utf8' "); error_reporting( error_reporting() & ~E_NOTICE ); date_default_timezone_set('Asia/Bangkok'); ?> <br> <h3>DATEDIFF คำนวณวันที่ระหว่างวันที่เริ่มกับวันที่สิ้นสุด by.devtai.com</h3> <br> <form action="date_add_db.php" method="POST" enctype="multipart/form-data" name="add" class="form-horizontal" id="add"> <div class="form-group"> <div class="col-sm-2" align="right"> วันที่เริ่ม</div> <div class="col-sm-3" align="left"> <input type="date" name="StartDate" id="dateBirth" class="form-control"> </div> </div> <div class="form-group"> <div class="col-sm-2" align="right"> วันสิ้นสุด </div> <div class="col-sm-3" align="left"> <input type="date" name="EndDate" id="dateBirth" class="form-control"> </div> </div> <div class="form-group"> <div class="col-sm-2"> </div> <div class="col-sm-6"> <button type="submit" class="btn btn-success" id="btn"> คำนวณ </button> </div> </div> </form> <div class="col-sm-6"> <?php $query_temple = "SELECT * ,DATEDIFF(EndDate , StartDate) as sumdate FROM borrowreturn ORDER BY borrowID ASC " or die("Error:" . mysqli_error()); $result = mysqli_query($con, $query_temple); //echo($query_temple); // exit(); echo ' <table id="example1" class="table table-bordered table-striped">'; echo "<thead>"; echo "<tr class='info'> <th width='5%'>ID</th> <th width='10%'>วันที่เริ่ม</th> <th width='10%'>วันสิ้นสุด</th> <th width='10%'>เท่ากับ</th> </tr>"; echo "</thead>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" .$row["borrowID"] . "</td> "; echo "<td>"; echo date('d/m/Y',strtotime($row["StartDate"])); echo "</td>"; echo "<td>"; echo date('d/m/Y',strtotime($row["EndDate"])); echo "</td>"; echo "<td>"; $sm = $row["sumdate"]; echo 'เท่ากับ '; echo $sm; echo ' วัน'; echo "</td>"; } echo "</table>"; mysqli_close($con); ?> </div> |
ขั้นตอนสุดท้าย สร้างไฟล์สำหรับบันทึกลงฐานข้อมูลเพื่อไปคำนวณวันที่ ตั้งชื่อไฟล์ว่า date_add_db.php
Code date_add_db.php
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 27 28 29 30 31 32 33 |
<meta charset="utf-8"> <?php $con= mysqli_connect("localhost","root","","date_test") or die("Error: " . mysqli_error($con)); mysqli_query($con, "SET NAMES 'utf8' "); error_reporting( error_reporting() & ~E_NOTICE ); date_default_timezone_set('Asia/Bangkok'); $StartDate = $_POST['StartDate']; $EndDate = $_POST['EndDate']; $sql = "INSERT INTO borrowreturn ( StartDate, EndDate ) VALUES ( '$StartDate', '$EndDate' )"; $result = mysqli_query($con, $sql) or die ("Error in query: $sql " . mysqli_error()); mysqli_close($con); if($result){ echo "<script type='text/javascript'>"; //echo "alert('เพิ่มข้อมูลเรียบร้อยแล้ว');"; echo "window.location = 'index.php'; "; echo "</script>"; }else{ echo "<script type='text/javascript'>"; echo "window.location = 'index.php'; "; echo "</script>"; } ?> |
แค่นี้ก็เสร็จแล้วครับ ขอบคุณที่ติดตามผมมาเรื่อยๆ นะค้าบ
ร่วมสนับสนุน เพื่อเป็นกำลังใจในการทำคลิปสอน ได้ที่
4066699249 นายวัยวุฒิ ชุมเมืองปัก
ธนาคาร ไทยพาณิชย์ ครับ
ระบบร้านค้าออนไลน์ สนใจ inbox มาที่เพจ สอนเขียนโปรแกรม devtai.com คลิก
สนใจจ้างพัฒนาระบบ เขียนระบบ
ทำเว็บไซต์ รับสอนเขียนโปรแกรม
inbox มาที่เพจ หรือติดต่อ 098-373-8651
ช่องทางการชำระเงิน
เงินสด หรือ e-banking
ธนาคารกสิกรไทย
เลขบัญชี : 0951168564
ชื่อบัญชี : นายวัยวุฒิ ชุมเมืองปัก