2015-11-08 30 views
1

已成功連接到我的數據庫。我有一個表像,MySQL SUM()ID(用戶)列的所有值和回顯總計

stid |  date   | bf | ln | dn | meal_total 
------------------------------------------------------ 
01 | 2015-11-27 13:12:01 | 1 | 2 | 3 | 6 
01 | 2015-11-27 11:12:01 | 0 | 3 | 2 | 5 
02 | 2015-11-27 12:12:01 | 1 | 1 | 1 | 3 
03 | 2015-11-27 11:12:01 | 1 | 1 | 1 | 3 

我只需要echo記錄在current monthstidmeal_total列的所有值的SUM

Total Meal for `stid` in current month : 11. 

我想這個代碼一樣,

$sql = "select sum(meal_total) 
     from meal 
     where stid='$_SESSION[stid]' 
      AND date >= DATE_ADD(CURDATE(), INTERVAL -DAY(CURDATE())+1 DAY) "; 

,我試圖顯示結果的HTML表格一樣,

<? php 
echo sum(meal_total); 
?> 

現在,先生,請幫我解決。提前致謝。

[我已經盡了全力,以澄清我的問題。]

+0

您還沒有解釋你遇到,你需要幫助什麼的問題。該代碼給了你什麼結果? – Sherif

+0

您是否正在執行sql語句並以某種方式保存結果?發佈你的代碼的一部分。 –

+0

@Sherif先生,代碼給我一個空白! –

回答

0

既然你沒有提供任何有效的PHP代碼,我只是猜測,你不知道如何訪問SUM場來自結果集。

當你SELECT SUM(meal_total)你應該別名字段,以便從你的PHP結果數組像SELECT SUM(meal_total) AS meal_sum和你可以echo $resultArray['meal_sum']訪問它來獲取有問題的值。

+0

先生您的代碼工作!非常感謝。 –

+0

我很高興它爲你工作。如果你覺得答案是有幫助的,你應該爲它提供幫助,以便下一個出現同樣問題的人也可能會覺得它有用。 – Sherif

+0

主席先生,我現在沒有太多的名氣可以贊成。但是當我的聲望足夠高時,我會再次回到這裏來注意它。再次感謝。 –

0

如果你的名字你的結果,你可以從你的結果得到它更容易一點。 我建議你使用DATE_FORMAT,它可以讓你輕鬆比較日期的部分。

$sql = "select sum(meal_total) AS meals 
     from meal 
     where stid='$_SESSION[stid]' 
      AND DATE_FORMAT(`date`, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m')"; 

# get result from sql 
... 
# 

echo $result['meals']; 

Offtopic: 雖然我是一個「先生」,請小心,有許多(大)的女程序員aswel。

+0

謝謝先生,現在問題已解決!我正在使用你的代碼。它爲我工作。 –

+0

@RahatVuban然後你應該接受這個答案。 – RiggsFolly

+0

@RiggsFolly:不幸的是,我不能接受多個答案! –

0

嘗試

select 
    m.stdid, 
    sum(m.meal_total) as month_meals 
from 
    meal as m 
where 
    year(m.date)= year(month(CURRENT_DATE()) 
AND 
    month(m.date) = month(month(CURRENT_DATE()) 
group by m.stdid