سلام
در دیتابیس افراد ثبت نام شده داری تاریخ و زمان هستند با TIMESTAMP
حالا می خوام اطلاعات را به صورت ماهانه ( شمسی ) بگیرم
مثلا فروردین 50 نفر ثبت نام کردند ، اردیبهشت 87 نفر و ....
راهنمایی می کنید که باید چی کار کنم ؟
این کد زیر میشه کوئری کلی جواب سوالتون:
SELECT COUNT(*) AS TOTAL FROM `USER_TABLE` WHERE date >= '2013-06-15' AND date < '2013-06-19'
حالا واسه اینکه ببینید روز اول ماه شمسی چه روزی در تاریخ میلادی هستش که در دیتابیس هم به صورت میلادی هستش باید از Jdate استفاده کنید. در مورد آموزش jdate سرچ کنید.
البته از اولین ثانیه اولین روز تا آخرین ثانیه آخرین روز. این مثال ثبت نامی های یه روز رو نمایش میده
$calender = new jCalendar();
$calender->farsiDigits = false;
$YEAR=((int)(substr($date,0,4)));
$MONTH=((int)substr($date,5,2));
$DAY=((int)substr($date,8,2));
$mkDate1= $calender->mktime(0, 0, 0, $MONTH, $DAY, $YEAR);
$mkDate2= $calender->mktime(23, 59, 59, $MONTH, $DAY, $YEAR);
کد:
select * from users where date >= $mkDate1 and <= $mkDate2