2015-11-08 31 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