已成功连接到我的数据库。我有一张表,
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
SUM
meal_total
列中记录的current month
列stid
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) ";
<? php
echo sum(meal_total);
?>
我正在尝试这样的代码,
{{1}}
我试图在html表中显示结果,如
{{1}}
先生,先生,请帮我解决。提前谢谢。
[我尽力澄清我的问题。]
答案 0 :(得分:0)
由于您没有提供任何有效的PHP代码,我只是猜测您不知道如何从结果集中访问SUM
字段。
当您SELECT SUM(meal_total)
时,您应该为该字段添加别名,以便从您的PHP结果数组中访问它SELECT SUM(meal_total) AS meal_sum
,您可以echo $resultArray['meal_sum']
获取相关值。
答案 1 :(得分:0)
您的查询中需要Group by语句: http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html
答案 2 :(得分: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: 即使我是爵士,请注意有很多(伟大的)女性程序员。
答案 3 :(得分: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