Php 如何根据一定的条件计算总和
我想根据用户名计算训练时数的总和。但当我使用SUM函数时,它会显示数据库中所有训练时间的总和。有人能帮我吗Php 如何根据一定的条件计算总和,php,mysql,sum,Php,Mysql,Sum,我想根据用户名计算训练时数的总和。但当我使用SUM函数时,它会显示数据库中所有训练时间的总和。有人能帮我吗 <?php include('session.php'); include_once('DB_connect.php'); $UID = $_SESSION['USERID']; if(isset($_POST["USER_NAME"])){ $B_title = strtoupper($_POST["USER_NAME"]);
<?php
include('session.php');
include_once('DB_connect.php');
$UID = $_SESSION['USERID'];
if(isset($_POST["USER_NAME"])){
$B_title = strtoupper($_POST["USER_NAME"]);
$sql = "SELECT
TS_ID, TS_DATE, TS_DDATE, TS_HOUR,
TRAINING_NAME,TRAINING_HOUR, USER_NAME,
SUM(B.TRAINING_HOUR) AS TOTAL
FROM
TRAINING_STATUS TS,
USER_INFO UI,
TRAINING B
WHERE
TS.TRAINING_ID = B.TRAINING_ID
AND
TS.USER_ID = UI.USER_ID
";
include('sql.php');
if(mysql_num_rows($retval) > 0){}
print '<table align="right" style="width:14%">
<tr style="background-color:1AB299">
<th>TOTAL TRAINING HOUR </th>
</tr>';
while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
print "<tr style='background-color:BCF9EF'>
<th>{$row['TOTAL']}</th>
</tr>";
}
}
?>
正如詹姆斯指出的
将查询更改为:
$sql = "SELECT
TS_ID, TS_DATE, TS_DDATE, TS_HOUR,
TRAINING_NAME,TRAINING_HOUR, USER_NAME,
SUM(B.TRAINING_HOUR) AS TOTAL
FROM
TRAINING_STATUS TS,
USER_INFO UI,
TRAINING B
WHERE
TS.TRAINING_ID = B.TRAINING_ID
AND
TS.USER_ID = UI.USER_ID
GROUP BY USER_NAME";
发布你尝试过的代码!请尝试按用户名分组,不要使用mysql获取数组。此API已被删除。请尽快升级到PHP7并使用预先准备好的语句。暂时忘掉PHP的东西。相反,请参见“请显示、表结构和示例数据”。@wawahaniee这将为训练表返回任意技术上“不确定”的值。也许我们对“工作”有不同的定义!你能解释一下你的意思吗?