我试图计算数据库中每列的总数,并使用php在网页上显示它。 但它只是给了我
Array
(
[0] => 6
[sum(food1)] => 6
)
我只想'6'作为我的结果。
这是我的代码
for($i=1; $i<=10; $i++){
$foodid=('food'."$i");
echo $foodid;
$food_query = mysql_query("select sum($foodid) from orderdetail where date between '$fm_date' and '$to_date'");
$ttl_food= mysql_fetch_array($food_query);
print_r($ttl_food[$i]);
}
非常感谢!
答案 0 :(得分:1)
SELECT SUM
或COUNT()
,MAX()
等任何其他功能的结果始终是记录集。您只需要获取行数组的第一个元素(即使只存在一行)。只需$your_rows_array[0]
。
为了避免使用[sum(food1)]
之类的奇怪名称,您可以SELECT SUM($foodid) AS mysum FROM ...
。
答案 1 :(得分:1)
通过为您的汇总功能的输出alias
sumoffood
提供$food_query = mysql_query("select sum($foodid) as sumoffood from orderdetail where date between '$fm_date' and '$to_date'");
来尝试以下
$ttl_food= mysql_fetch_assoc($food_query);
echo $ttl_food['sumoffood'];
然后使用
{{1}}
答案 2 :(得分:0)
使用
select sum(field) as sum
和
ttl_food['sum'];
答案 3 :(得分:0)
试试这个:
for($i=1; $i<=10; $i++){
$foodid=('food'."$i");
echo $foodid;
$food_query = mysql_query("select sum(field) as sum from orderdetail
where date between '$fm_date' and '$to_date'");
$ttl_food= mysql_fetch_array($food_query);
print_r($ttl_food['sum']);