Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对SQL字段求和以获得总结果_Php_Sql - Fatal编程技术网

Php 对SQL字段求和以获得总结果

Php 对SQL字段求和以获得总结果,php,sql,Php,Sql,我试图对SQL数据库中的许多字段求和。 这些字段称为week1到Week13,因为它们存储每周的结果。 我有这个在目前,但它不是输出任何东西,任何帮助将不胜感激。干杯 <?php if ($resultsRows == 0){ echo '<p> No results have been listed for you yet. </p>'; } if ($resultsR

我试图对SQL数据库中的许多字段求和。 这些字段称为week1到Week13,因为它们存储每周的结果。 我有这个在目前,但它不是输出任何东西,任何帮助将不胜感激。干杯

<?php
            if ($resultsRows == 0){
            echo '<p> No results have been listed for you yet. </p>';
            }
            if ($resultsRows > 0){              
            $qrytotalresult = "SELECT SUM(week1 + week2 + week3 + week4 + week5 + week6 + week7 + week8 + week9 + week10 + week11 + week12 + week13) FROM results WHERE username = '$username'";
            $TotalResult = mysql_query($qrytotalresult);
            return $TotalResult;

            }
        ?>

就足够了

SUM()
是一个聚合函数,用于添加行。要添加列,只需使用
+
,但请注意,如果任何列为空,则可能无法获得预期的结果

SELECT IFNULL(week1, 0) + IFNULL(week2, 0) + IFNULL(week3, 0) AS sumweeks //etc
这应该能奏效。
(假设:每个用户有多行。如果每个用户只有一行,则可以省略sum函数和group by子句)

SQL不是这里唯一的问题-mysql\u查询不返回值。您必须使用mysql\u fetch\u array()来获取它。$result=mysql\u fetch\u array($query);回声$结果;我现在添加了抓取和打印-除了现在它打印单词数组..事实上,
GROUP BY
两种方式都可以省略,因为您只为单个用户检索行。什么会导致它无法打印出来?因为mysql\u查询输出查询结果,您应该使用
mysql\u-fetch\u-assoc
mysql\u-fetch\u-row
等获取它。$result=mysql\u-fetch\u-assoc($query);回声$结果;我已经添加了它,它会打印出“数组”
SELECT IFNULL(week1, 0) + IFNULL(week2, 0) + IFNULL(week3, 0) AS sumweeks //etc
 SELECT SUM(week1) + SUM(week2) + SUM(week3) + SUM(week4) + SUM(week5) +  
        SUM(week6) + SUM(week7) + SUM(week8) + SUM(week9) + SUM(week10) +  
        SUM(week11) + SUM(week12) + SUM(week13) 
 FROM results 
 WHERE username = '$username' 
 group by username