|
|
|
จะทำอย่างไรดีให้ได้ผลลัพธ์ตามที่ต้องการ คือได้แต่ภายในปีเดียวกัน แต่พอใส่ข้ามปียังไม่ได้ค่ะ |
|
|
|
|
|
|
|
รับค่าวันที่มา2ค่า คือวันที่เริ่มต้น กับวันที่สิ้นสุดแล้วต้องการให้มันแยกออกเป็นเดือนๆ
ค่าที่รับมา
$strStartDate = "2011-01-06";
$strEndDate = "2012-02-15";
ผลลัพธ์ที่ต้องการ
2011-01-01ถึง2011-01-31
2011-02-01ถึง2011-02-28
2011-03-01ถึง2011-03-31
2011-04-01ถึง2011-04-30
2011-05-01ถึง2011-05-31
2011-06-01ถึง2011-06-30
2011-07-01ถึง2011-07-31
2011-08-01ถึง2011-08-31
2011-09-01ถึง2011-09-30
2011-10-01ถึง2011-10-31
2011-11-01ถึง2011-11-30
2011-12-01ถึง2011-12-31
2011-01-01ถึง2011-01-30
2011-02-01ถึง2011-02-30
นี่คือcodeที่เขียนไว้แล้ว ซึ่งมันrunได้แค่เพิ่งในปีเดียวกัน แต่พอใส่ข้ามปีก็ไม่ได้แล้ว รบกวนช่วยคิดcodeที่จะทำให้มันวนปีใหม่ขึ้นมาด้วยค่ะ
Code (PHP)
<?
$strStartDate = "2011-01-06";
$strEndDate = "2011-09-15";
$GGmonthStart=substr($strStartDate,5,2);
$GGmonthEnd=substr($strEndDate,5,2);
$GGyear=substr($strEndDate,0,4);
//echo $strStartDate.ถึง;
for ($x=$GGmonthStart; $x<=$GGmonthEnd; $x++)
{
$day = array(31, 30, 29, 28);
$month = date($x);
$year = date($GGyear);
echo $GGyear."-".str_pad("$x", 2, "0",STR_PAD_LEFT)."-01ถึง";
for($i=0; $i < count($day); $i++)
{
$day_check = $day[$i];
if(checkdate($month, $day_check, $year))
{
$last_date = "$year-".str_pad("$month", 2, "0",STR_PAD_LEFT)."-$day_check";
break;
}
}
echo $last_date."<br>";
}
//echo $strEndDate;
?>
ขอบคุณค่ะ
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2013-05-01 16:03:26 |
By :
achoo |
View :
722 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณใช้แบบนั้นไม่ได้ครับ จะต้องใช้พวก Date Add แทนครับ เพราะมันเป็นวันที่
|
|
|
|
|
Date :
2013-05-02 06:28:07 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถึงคุณวิน
ใช้ Date Add แล้วทำยังไงให้มันเป็นช่วงๆอ่ะค่ะ เพราะว่าต้องการวันเริ่มต้นกับวันสุดท้ายของแต่ละเดือน (ต้องการให้มันเป็นตัวแปร2ตัว) เพื่อนำไปrun sql ต่อค่ะ
รบกวนอีกทีนะค่ะ
ขอบคุณค่ะ
|
|
|
|
|
Date :
2013-05-02 09:54:28 |
By :
achoo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|