|
|
|
พี่ ๆ คะถามอีกแล้วค่ะ มีปัญหาเรื่องวันที่ค่ะ $nearexpiredate = "07-09-2552"; วันหมดอายุจริง ต้องเขียนยังไงนะคะ |
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2009-10-07 14:59:32 |
By :
NanoThoro |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โหพี่นาโน ไม่ตอบยังมายิ่มเยาะอีก อิอิ ช่วยหน่อยสิคะ
|
|
|
|
|
Date :
2009-10-07 15:09:22 |
By :
gigza |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ว่าไป
เอาวันที่ ไทย เลยเหรอ
|
|
|
|
|
Date :
2009-10-07 15:13:58 |
By :
NanoThoro |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เราต้องกำหนดขอบเขตก่อนว่า วันใกล้หมดของเรานะ เท่าไหร่ ช่วงไหนคือใกล้หมด กี่วัน ถึงกี่วัน หรือจะจากวันที่เท่าไหร่ ถึงวันที่หมดอายุ
|
|
|
|
|
Date :
2009-10-07 15:14:59 |
By :
NanoThoro |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หัวเราะวันละหนึ่งครั้ง คุณอายุยืนไปอีกสิบวัน
หัวเราะวันละ 10 ครั้ง คุณอายุยืนไปอีก 100 วัน
หัวเราะวันล่ะ 100 ครั้ง คุณอายุยืนไปอีก 5 ปี
หัวเราะวันละพันครั้ง คุณ..... ท่าจะบ้าแล้ว ฮาๆๆๆๆๆ
|
|
|
|
|
Date :
2009-10-07 15:28:31 |
By :
NanoThoro |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ตามตัวอย่างข้างบนแหละค่ะ เพราะใน ตาราง น้องกำหนดไว้อย่างนั้นแล้ว
ให้เช็คตามฟิลด์ในตามตารางเลยค่ะ
$nearexpiredate = "07-09-2552"; // วันใกล้หมดอายุ
$today = "07-10-2552"; // วันที่วันนี้
$expiredate = "08-10-2552"; // วันหมดอายุจริง
ที่พอเขียนได้ แต่ไม่แสดงผล จะเป็น
Code (PHP)
<?php
if ($nearexpiredate == $today)
{
echo "หมดอายุสมาชิกแล้ว";
}else{
echo "";
}
?>
**** เช็คได้แค่ว่า วันใกล้หมด ตรงกับวันที่ปัจุบันเท่านั้นค่ะ แต่เช็คไปจนถึงวันหมดอายุจริงไม่ได้ค่ะ
$nearexpiredate = "07-09-2552"; // วันใกล้หมดอายุ
*** ต้องการหลัง วันที่ 07-09-2552 ไปจนถึง วันหมดอายุจริง $expiredate = "08-10-2552"; แสดงว่า หมดอายุสมาชิก
ถ้าก่อน 07-09-2552 (วันใกล้หมดอายุ) ไม่ต้องแสดงอะไรเลย
|
|
|
|
|
Date :
2009-10-07 15:34:05 |
By :
gigza |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอเค ขอเวลาคิดหน่อยนะ ช่วงนี้สมองตื้อๆ ซะด้วยสิ อิอิอิ
|
|
|
|
|
Date :
2009-10-07 15:44:42 |
By :
NanoThoro |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าใช้ฟังก์ชั่นตามที่คุณพีแนะนำ มันก็ต้องแปลงวันที่กลับเป็นปกิจอีกรอบสินะ
|
|
|
|
|
Date :
2009-10-07 15:49:07 |
By :
NanoThoro |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
// การเรียงวันที่ตอนรับมา mm-dd-yyyy
$nearexpiredate = "07-11-2552"; // วันใกล้หมดอายุ
$today = "07-10-2552"; // วันที่วันนี้
$expiredate = "08-10-2552"; // วันหมดอายุจริง
$today =toTime($today);
$expiredate=toTime($expiredate);
$nearexpiredate=toTime($nearexpiredate);
if($today >= $expiredate){
echo "หมดอายุแล้ว<br/>";
}else if($today >= $nearexpiredate){
echo "ใกล้หมดอายุแล้ว<br/>";
}else{
echo "ยังไม่หมดอายุจ้า";
}
function toTime($d){ // เนื่องจากวันเรียงกัน mm-dd-yyyy สลับที่ yyyy-mm-dd และ ปีเป็น พ.ศ ต้องเปลี่ยนเป็น ค.ศ.
list($month,$day,$year) =split("[/.-]",$d);
return strtotime(($year-543)."-".$month."-".$day);
}
?>
ผมมองว่าวันที่รับมา $today คือ 08-10-2552 (เดือน-วัน-ปี) แต่ถ้าไม่ใช่เรียงแบบนี้
แต่เรียงเป็น วัน-เดือน-ปี ให้แก้
list($month,$day,$year) =split("[/.-]",$d); เป็น
list($day,$month,$year) =split("[/.-]",$d);
ลองไปทดสอบเล่นๆดูครับ
|
|
|
|
|
Date :
2009-10-07 16:39:24 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อันนี้คงจะใช้ได้นะ แต่เปลี่ยนรูปบแบบวันที่ไทยไม่ได้อะ ลองดู
Code (PHP)
<?php
//หาวันที่ปัจจุบันเก็บไว้ก่อน
$today = "2009-10-11"; //ตรงนี้ใช้ฟังก์ชั่นหาวันที่ปัจจุบันออกมาตามต้องการนะ
//หาวันที่หมดอายุในตารางฐานข้อมูลออกมา
$exday = "2009-10-10"; //ดึงมาจากฐานข้อมูลเป็นนะ
$limitday = 5; //กำหนดขอบเขตก่อนหมดอายุจริงห้าวัน ถือว่าเป็นวันใกล้หมดอายุ
//แยกวันเดือนปี
$nearday = (strtotime($exday) - strtotime($today)) / (24 * 60 * 60);
if ($nearday > 5)
{
echo "ยังมีเวลาหายใจอีกเยอะ";
} else if (($nearday <= $limitday) and ($nearday > 0))
{
echo "ใกล้หมดอายุไขแล้ว";
} else if ($nearday == 0)
{
echo "วันนี้เป็นวันหมดอายุ";
} else if ($nearday < 0)
{
echo "หมดอายุไขไปแล้ว";
}
?>
|
|
|
|
|
Date :
2009-10-07 17:36:53 |
By :
NanoThoro |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|