我正在开发基于网络的应用程序,该应用程序跟踪员工的日常活动。我在php中制作了表单,用于输入详细信息。此外,还有一个选项可以显示报告。
这是我到目前为止所做的。
<?php
$serverName = "";
$connectionInfo = array("Database" => "...", "UID" =>"...", "PWD"=>"..." );
$conn = sqlsrv_connect($serverName, $connectionInfo);
if ($conn === false){
die(print_r(sqlsrv_errors(),true));
}
$$sql = "(Select Ad.[Act] 'Act', Ad.[Units] 'Units', Ad_Acts.[Name] from Ad JOIN Ad_Act ON Ad.ActID = Ad_Act.ActAttend)
Union ALL(Select Citi.[Act2] 'Act', Citi.[Units2] 'Units', Citi_act.[Name] from Citi JOIN Citi_Acts ON Citi.ActID2 = Citi_Act.ActAttend2)
Union ALL(Select ComOut.[Act3] 'Act', ComOut.[Units3] 'Units', ComOut_Act.[Name] from ComOut JOIN ComOut_Act ON ComOut.ActID3 = ComOut_Act.ActAttend3)
Union ALL(Select ReSchAct.[Act4] 'Act', ReSchAct.[Units4] 'Units', ReSch_Act.[Name] from ReSchAct JOIN ReSch_Act ON ReSchAct.ActID4 = ReSch_Act.ActAttend4)
Union ALL(Select TeEd.[Act5] 'Act', TeEd.[Units5] 'Units', TeEd_Act.[Name] from TeEd JOIN TeEd_Act ON TeEd.ActID5 = TeEd_Act.ActAttend5)";
$totalUnits = 0;
?>
<table>
<tr>
<th>Act</th>
<th>Units</th>
<th>Name</th>
</tr>
<?php while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) : ?>
<tr>
<td><?php echo $row['Act']</td>
<td><?php echo $row['Units']</td>
<td><?php echo $row['Name']</td>
</tr>
<?php $totalUnits = $totalUnits + intval($row['Units']); ?>
<?php endwhile; ?>
<tr>
<td></td>
<td>Total Units: </td>
<td><?php echo $totalUnits; ?></td>
</tr>
</table>
现在我想制作一些用户可以显示月份报告的内容。用户应该可以选择月份并查看报告。
上面的代码从数据库的不同表中获取数据。显示单位总和(即用户迄今为止获得的总分)。上面的代码现在正在工作,我可以按月显示它。
答案 0 :(得分:0)
尝试将日期列拆分为日,月和年。然后查询月份列。那应该可以解决问题。
答案 1 :(得分:-1)
您需要做的就是在您的表中有一个月份列,然后选择特定于用户正在解析的月份的记录。