PDA

View Full Version : بدست آوردن جمع مقادیر فروش یک ماه (ماه جاری)



abbas3zaar
شنبه 19 فروردین 1396, 16:27 عصر
سلام.
با کوئری زیر




$get_last_1month_sells = mysql_query("SELECT sum(order_total_price) as lastmonth FROM orders WHERE `order_created` >= DATE_ADD( NOW( ) , INTERVAL -1 MONTH )");



مجموع sum(order_total_price) رو در یک ماه گذشته از امروز رو میاره
من میخوام ماهی که توش هستیم رو فقط select کنه
کد بالا 30 روز به عقب رو میاره حالا چه در بین دو ماه باشه


فقط ماه جاری (یعنی سفارش هایی که مثلا در ماه 03 بودن یا سفارش هایی که در ماه 09 بودن
کوئریش چجوری میشه؟

abbas3zaar
شنبه 19 فروردین 1396, 16:50 عصر
با این کوئری زیر همه ماه ها رو گروه بندی کرد و جمع فروش هر ماه رو آورد
ولی من میخوام فقط آخرین ماه (ماهی که توش هستیم) رو برام بیاره
چیکار کنم؟

http://uupload.ir/files/cxrm_345345345345.jpg

plague
یک شنبه 20 فروردین 1396, 10:17 صبح
WHERE MONTH(date) = '9' AND YEAR(date) = '2017'

abbas3zaar
شنبه 26 فروردین 1396, 02:05 صبح
WHERE MONTH(date) = '9' AND YEAR(date) = '2017'

سلام یه مشکلی دارم

من در صفحه ثبت سفارش جدید تاریخ سفارش رو انتخاب میکنم مثل عکس زیر:

تاریخ در Input Text به شمسی وارد میشه



http://www.pic98.ir/upload/o184_1.jpg



و بعد از وارد کردن تاریخ به صورت شمسی بعد از POST شدن صفحه با کد php زیر اونو به میلادی تبدیل و در جدول دیتابیسم ذخیره میکنم:




http://www.pic98.ir/upload/137r_123123123.jpg



حالا تاریخ در جدولم به این صورت زیر هست:

http://www.pic98.ir/upload/tg1j_2.jpg



با کد زیر فروش این ماه رو بدست میارم:
نکته: فروش این ماه یعنی اینکه الان در تاریخ شمسی ما در برج 1 یعنی فروردین ماه هستیم یعنی هر سفارشی که در فروردین ماه ثبت شده رو میخوایم.



$day = date('d');

$month = date('m');

$year = date('Y');

$query_this_month_sells = mysql_query("SELECT SUM(order_total_price) as this_month_sells FROM `orders` WHERE MONTH(order_created) = '$month' AND YEAR(order_created) = '$year'");

if($query_this_month_sells)

{

$month_sells_fetch = mysql_fetch_assoc($query_this_month_sells);

$month_sells = $month_sells_fetch['this_month_sells'];

echo $month_sells;

}


حالا مشکل اینجاست که این کوئری بر حساب تاریخ میلادی فروش یک ماه رو میاره.
با توجه به تقویم زیر، اگر در تاریخ شمسی من تاریخ 12 فروردین 96 رو انتخاب و سفارشم رو ثبت کنم سفارش در جدول دیتابیسم به تاریخ 2017/04/01 ذخیره میشه، حالا من بیام تاریخ 11 فروردین 96 رو انتخاب کنم برای سفارشم در جدول دیتابیسم تاریخ میلادی 2017/03/30 ذخیره میشه. و در کوئری نمایش فروش ماه اشتباه نشون میده و قبل تاریخ 12 فروردین رو نشون نمیده فقط میاد برج 4 میلادی رو نشون میده


اگر متوجه نشدین یه ویدئو کوچیک با حجم کم گرفتم مشکلمو توش توضیح دادم براتون بفرستم

http://www.pic98.ir/upload/tt41_324234234.jpg

plague
شنبه 26 فروردین 1396, 10:22 صبح
اگه منظورت اینه که سفارشات یک ماه شمسی رو میخای
باید خودت یه کد بنویسی تا حدود اون ماه شمسی رو به میلادی به دست بیاری یعنی ماه شمسی مات از چه تاریخ میلادی شروع میشه و در چه تاریخ میلادی تمام میشه


مثلا کاربر
25/1/1396
رو انتخاب کرده
من تبدیلش میکنم به میلادی مثلا میشه
15/4/2107

حالا شروع میکنم به کم کردن روز
14/4/2107 ->معادل شمسیش میشه -> 24/1/1396 -> ماه این تاریخ 1 هستش که برابر هستش با ماه تاریخ اولیه
13/4/2107 ->معادل شمسیش میشه -> 23/1/1396 -> ماه این تاریخ 1 هستش که برابر هستش با ماه تاریخ اولیه
12/4/2107 ->معادل شمسیش میشه -> 22/1/1396 -> ماه این تاریخ 1 هستش که برابر هستش با ماه تاریخ اولیه
.
.
.
18/3/2107 ->معادل شمسیش میشه -> 30/12/1395 -> ماه این تاریخ 12 هستش که با ماه اولیه انتخاب شده برابر نیست در نتیجه این تاریخ میلادی حد اولیه ماه شمسی فروردین هستش به عبارت دیگه روز اول ماه فروردین ماه از این تاریخ میلادی شروع میشه


بعد برای بدست اوردن حد بالایی هم از همین روش استفاده میکنم ولی دیگه اون یکی یکی اضافش میکنم

abbas3zaar
شنبه 26 فروردین 1396, 16:50 عصر
اگه منظورت اینه که سفارشات یک ماه شمسی رو میخای
باید خودت یه کد بنویسی تا حدود اون ماه شمسی رو به میلادی به دست بیاری یعنی ماه شمسی مات از چه تاریخ میلادی شروع میشه و در چه تاریخ میلادی تمام میشه


مثلا کاربر
25/1/1396
رو انتخاب کرده
من تبدیلش میکنم به میلادی مثلا میشه
15/4/2107

حالا شروع میکنم به کم کردن روز
14/4/2107 ->معادل شمسیش میشه -> 24/1/1396 -> ماه این تاریخ 1 هستش که برابر هستش با ماه تاریخ اولیه
13/4/2107 ->معادل شمسیش میشه -> 23/1/1396 -> ماه این تاریخ 1 هستش که برابر هستش با ماه تاریخ اولیه
12/4/2107 ->معادل شمسیش میشه -> 22/1/1396 -> ماه این تاریخ 1 هستش که برابر هستش با ماه تاریخ اولیه
.
.
.
18/3/2107 ->معادل شمسیش میشه -> 30/12/1395 -> ماه این تاریخ 12 هستش که با ماه اولیه انتخاب شده برابر نیست در نتیجه این تاریخ میلادی حد اولیه ماه شمسی فروردین هستش به عبارت دیگه روز اول ماه فروردین ماه از این تاریخ میلادی شروع میشه


بعد برای بدست اوردن حد بالایی هم از همین روش استفاده میکنم ولی دیگه اون یکی یکی اضافش میکنم

منظورم همینه ولی متوجه نشدم!

abbas3zaar
شنبه 30 اردیبهشت 1396, 23:08 عصر
http://s9.picofile.com/file/8295381376/get_this_month_sells_in_php.zip.html