【发布时间】:2014-07-17 01:14:58
【问题描述】:
我正在开发一个时间卡系统,用户可以在其中输入单个单位或“运行”单位的时间。
我已经创建了时间输入部分,用户可以在其中针对“运行”输入时间,它将为指定为该“运行”一部分的每个单位创建单独的行。它还划分了他们输入的时间(即 run15 有 8 小时反对它,所以每个单元将获得 4 小时) 请注意,如果时间是针对单个单位输入的,则 RunNum 留空。
UnitNum RunNum Hours Date
--- ---- ------ --------
1 12 5 08-01-2013
2 12 5 08-01-2013
3 12 5 08-01-2013
4 - 10 08-02-2013
5 - 8 08-02-2013
6 - 4 08-03-2013
9 15 4 08-03-2013
9 15 4 08-03-2013
1 12 1.5 08-04-2013
2 12 1.5 08-04-2013
3 12 1.5 08-04-2013
现在我正在进入系统的编辑部分;事情有点复杂。 由于我不希望用户必须在运行中编辑单个单元,我希望它再次显示为单次运行。
我需要结合不同的运行;添加相应的时间,其中日期相同;并隐藏unitnum:
UnitNum RunNum Hours Date
--- ---- ------ --------
- 12 15 08-01-2013
4 - 10 08-02-2013
5 - 8 08-02-2013
6 - 4 08-03-2013
- 15 8 08-03-2013
- 12 4.5 08-04-2013
到目前为止,我的代码抓取了所有内容,如下所示:
<?PHP
$EditPickSelect = SQLSRV_QUERY($conn1,"SELECT runnum, unitnum, date, hours FROM dbo.TimecardHours ORDER BY date");
ECHO "<br>";
ECHO "<table border='1'>";
ECHO "<tr>";
ECHO "<td>";
ECHO "Run";
ECHO "</td>";
ECHO "<td>";
ECHO "Unit";
ECHO "</td>";
ECHO "<td>";
ECHO "Hours";
ECHO "</td>";
ECHO "<td>";
ECHO "Date";
ECHO "</td>";
ECHO "</tr>";
WHILE ($EditPickFetch=SQLSRV_FETCH_ARRAY($EditPickSelect, SQLSRV_FETCH_ASSOC))
{
ECHO "<tr>";
ECHO "<td>";
ECHO "<center>";
if ($EditPickFetch['runnum'] == '') {
ECHO "-";
} else {
ECHO $EditPickFetch['runnum'];
}
ECHO "</center>";
ECHO "</td>";
ECHO "<td>";
ECHO "<center>";
if ($EditPickFetch['unitnum'] == '') {
ECHO "-";
} else {
ECHO $EditPickFetch['unitnum'];
}
ECHO "</center>";
ECHO "</td>";
ECHO "<td>";
ECHO "<center>";
ECHO $EditPickFetch['hours'];
ECHO "</center>";
ECHO "</td>";
ECHO "<td>";
ECHO "<center>";
ECHO $EditPickFetch['date'];
ECHO "</center>";
ECHO "</td>";
ECHO "</tr>";
}
ECHO "</table>";
?>
【问题讨论】:
标签: sql-server distinct