ผมมีปัญหาเรื่องวันที่ครับ ช่วยหน่อยครับ คือผมต้องการหาข้อมูลจาก ช่วงวันที่ สมมุตินะครับ 2011-11-05 ถึง 2011-12-05
ถ้าดึงจาก SQL ก็ใช้ BETWEEN ได้เลยครับ
SELECT * FORM table WHERE Datefile BETWEEN '2012-01-05' AND '2012-02-05'
ใน ฟิลล์ที่เก็ย วันที่ต้องมี type เป็น date นะครับ
Date :
2011-12-29 11:38:17
By :
aa-y-za
SELECT * FORM table WHERE Datefile BETWEEN '2012-01-05' AND '2012-02-05'
ถ้าแบบนี้เดือนถัดไป วัน เดือน ปี ไม่ไม่เปลียนตามตามครับ คือ พอเปลี่ยนเดือน ก็ให้วันที่มันเปลี่ยนตามครับ โดยที่ไม่ต้องมาแก้ไข โค้ดอะครับ
Date :
2011-12-29 11:40:58
By :
addy_it
ดึงค่าวันเดือนปีปัจจุบันจาก server
$startMonth = date('Y-m-d');
หาเดือนต่อไป
$nextMont = date('Y-m-d', strtotime("+1 month"));
นำไปใช้งานกับ sql
$sql = "SELECT * FORM table WHERE Datefile BETWEEN '{$startMonth}' AND '{$nextMont}'";
<?php
$startMonth = date('Y-m-d');
$nextMont = date('Y-m-d', strtotime("+1 month"));
echo $startMonth, " -> ", $endMont, "<br />";
$sql = "SELECT * FORM table WHERE Datefile BETWEEN '{$startMonth}' AND '{$nextMont}'";
echo $sql;
ประวัติการแก้ไข 2011-12-29 12:41:56 2011-12-29 12:42:54
Date :
2011-12-29 12:41:35
By :
nautilus
ขอบคุณมากครับ
Date :
2011-12-29 13:50:27
By :
addy_it
ขอถามต่ออีกนิดนะครับ ถ้าจึงข้อมูลเป็น ปีหละ ครับ ดึงข้อมูลในลักษณะเดียว โดย ช่วงวันที่ 2011-10-1 - 2012-09-30 แบบนี้อะครับ พอถึง 1 ตุลาคม ปีหน้า ก็ให้มันเปลี่ยนเป็น 2012-10-1 - 2013-09-30 แบบนี้อะครับ ทำยังไงครับ
Date :
2011-12-29 14:51:54
By :
addy_it
strtotime example
<?php
echo date('Y-m-d', strtotime("now")), "<br>\n";
echo date('Y-m-d', strtotime("10 September 2000")), "<br>\n";
echo date('Y-m-d', strtotime("+1 day")), "<br>\n";
echo date('Y-m-d', strtotime("+1 week")), "<br>\n";
echo date('Y-m-d', strtotime("+1 week 2 days 4 hours 2 seconds")), "<br>\n";
echo date('Y-m-d', strtotime("next Thursday")), "<br>\n";
echo date('Y-m-d', strtotime("last Monday")), "<br>\n";
echo date('Y-m-d', strtotime("+1 year")), "<br>\n";
ประวัติการแก้ไข 2011-12-30 08:49:43
Date :
2011-12-30 08:49:19
By :
nautilus
Load balance : Server 05