假设我要总结休假表中的持续时间,条件是Leave_Type ='年度'和状态='已批准'
我的数据库
table leave
{Leave_ID(PK), Leave_Type, Status, Duration, Emp_ID(FK)}
table employee
{Emp_ID(PK), Emp_Name}
我使用以下代码对持续时间
求和$aid=$_SESSION["eid"];
$Annual = mysql_query("select SUM(Duration)
FROM `leave`
WHERE leave.Leave_Type = 'Annual' and leave.Status = 'Approved'
and leave.Emp_ID = employee.Emp_ID and leave.Emp_ID = $aid");
我显示输出的方式
<td><?php echo $Annual;?></td>
但我获得的输出类似于“资源ID#4”。这不是我想要的输出,它应该是持续时间的总和。 mysql_query
或我打印输出的方式有问题吗?
答案 0 :(得分:1)
输出错误了!
$AnnualData = mysql_fetch_assoc($Annual);
比输出:
<td><?php echo $AnnualData['SUM(Duration)'];?></td>
如果需要,可以像这样在sum语句中添加一个别名(在sql查询中):
SUM(Duration) AS total
并且输出如下:
<td><?php echo $AnnualData['total'];?></td>
答案 1 :(得分:0)
您只运行查询,需要获取数据。
将mysql_query更改为mysqli_query
(前一个已弃用),然后使用mysqli_fetch_assoc($Annual)
答案 2 :(得分:0)
你应该添加;
$annual2 = mysql_fetch_array($annual);
然后
<?PHP echo $annual2['Duration']; ?>
希望这会有所帮助:)
答案 3 :(得分:0)
$query=mysql_fetch_array($Annual);
echo $query[0];
它会打印你想要的......