PDA

View Full Version : سوال: مشکل در SUM چند ردیف در Mysql و PHP



aaaaaaaa1
سه شنبه 31 فروردین 1395, 03:54 صبح
سلام دوستان
یه مشکل اساسی برام پیش امده سه روزه دارم باهاش سرو کله میزنم
با جستجو به چند تا کد بر خوردم یکی
SELECT
Type = ISNULL(Type, 'Total'),
TotalSales = SUM(TotalSales)
FROM atable
GROUP BY ROLLUP(Type)
;
و
دیگری کد PHP از تابع



$a=array("a"=>52.2,"b"=>13.7,"c"=>0.9);
array_sum($a);

خب حالا اگر بخوام از روش اول یعنی از خود MYsql استفاده کنم هرکاری مینم خروجی نمیده
در کل من میخوام به این صورت باشه ْ
من دو داده در MYsql خود دارم و هر دو مقدار Prace دارند در ردیف ها جدا
............................................
یعنی
کالای1 5000
کالای2 10000
میخوام به صورت Total یا کلی در آخر درج بشه
150000
..........................................
ولی روش دوم آسون تر هست ولی چون داده ها از سمت mysql ارسال میشه و چند داده است با دستور foreach هم اگر بکنم داده ها بصورت جدا گانه در خروجی وارد میشوند
یعنی آرایه ها در آرایه (Array) های جدا گانه میرن پس نمیتونم خروجی بگیرم ازش
راه حلی دارید ؟
ممنون میشم دوستان دیگه مخم سود کشید !

aaaaaaaa1
سه شنبه 31 فروردین 1395, 10:05 صبح
واقعا یعنی اینجا یک برنامه نویس نیست؟ فقط میتونید به سوالات جامع پاسخ بدید!
38 نفر مشاهده کردن یکی یه چیزی نگفت!
افسوس بعضیا میپرسی در چه سطح بلدی برنامه نویسی میگن حرفه ای!

bax998
سه شنبه 31 فروردین 1395, 10:32 صبح
میتونید از تابع sum در mysql استفاده کنید‌:


SELECT SUM(col1, col2, ...) FROM table WHERE ...

Farshid007
سه شنبه 31 فروردین 1395, 11:12 صبح
سلام دوستان
یه مشکل اساسی برام پیش امده سه روزه دارم باهاش سرو کله میزنم
با جستجو به چند تا کد بر خوردم یکی
SELECT
Type = ISNULL(Type, 'Total'),
TotalSales = SUM(TotalSales)
FROM atable
GROUP BY ROLLUP(Type)
;
و
دیگری کد PHP از تابع



$a=array("a"=>52.2,"b"=>13.7,"c"=>0.9);
array_sum($a);

خب حالا اگر بخوام از روش اول یعنی از خود MYsql استفاده کنم هرکاری مینم خروجی نمیده
در کل من میخوام به این صورت باشه ْ
من دو داده در MYsql خود دارم و هر دو مقدار Prace دارند در ردیف ها جدا
............................................
یعنی
کالای1 5000
کالای2 10000
میخوام به صورت Total یا کلی در آخر درج بشه
150000
..........................................
ولی روش دوم آسون تر هست ولی چون داده ها از سمت mysql ارسال میشه و چند داده است با دستور foreach هم اگر بکنم داده ها بصورت جدا گانه در خروجی وارد میشوند
یعنی آرایه ها در آرایه (Array) های جدا گانه میرن پس نمیتونم خروجی بگیرم ازش
راه حلی دارید ؟
ممنون میشم دوستان دیگه مخم سود کشید !

در روش دوم می تونید ی متغیر با مقدار صفر ایجاد کنید
هربار که هر ردیف از جودل رو خوندید اون مقدار را به این متغیر اضافه کنید
در نهایت جمع کل اون ها بدست می آید

aaaaaaaa1
سه شنبه 31 فروردین 1395, 12:34 عصر
میتونید از تابع sum در mysql استفاده کنید‌:


SELECT SUM(col1, col2, ...) FROM table WHERE ...
ممنون دوست عزیز,
بنده هم از روش sum استفاده کردم ولی جمع نمیبنده اعداد رو بصورت جدا گانه فقط تایپ میکنه
از Group By هم استفاده کردم که فقط گروه هایی که شبیه به هم هستند رو جمع ببنده ولی باز هم !


در روش دوم می تونید ی متغیر با مقدار صفر ایجاد کنید
هربار که هر ردیف از جودل رو خوندید اون مقدار را به این متغیر اضافه کنید
در نهایت جمع کل اون ها بدست می آید
دوست عزیز ممنون
کد رو به این صورت نوشتم ،

<?php




$sum= 0;
foreach ($Dataprace as $kf_PR) {
$prace = $kf_PR['Prace'] ;


$sum = $prace + $sum;
}
$sum=$sum;
echo $sum;


?>
حل شد;
یادم رفته بود این روش ! توی وی›وال بیسیک کار میکردیم !