我有 SQL 服务器数据库,我正在使用 php 连接到它并使用查询。我已经从数据库中为一名员工读取了两条记录。我需要他们计算员工的工作时间。但我不知道如何从同一列中选择字段到同一员工。如图所示:
E003 2014-03-17 08:10:12 2221
E003 2014-03-17 10:05:02 2222
E003 2014-03-17 12:15:20 2221
E003 2014-03-17 15:03:30 2222
2221是入口门,2222是出口门。我想从 2222 中选择时间并减去它们以获得员工的工作时间。你能帮我解决这个问题吗,这是我的代码:
<?php
$host = "servername\instancename";
$connectionInfo = array( "Database"=>"AccessCard", "UID"=>"", "PWD"=>"");
$conn = sqlsrv_connect( $host, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
echo "</br>";
/**********************************************/
$FRISTsql = "SELECT [EmpID],[DATE],[TIME],[OBJECT] FROM [AccessCard].[dbo].[TimeAtt] WHERE [EmpID]='E003'";
$Fstmt = sqlsrv_query( $conn, $FRISTsql );
if( $Fstmt === false) {
die( print_r( sqlsrv_errors(), true) );
}
while( $Frow = sqlsrv_fetch_array( $Fstmt, SQLSRV_FETCH_ASSOC) ) {
$R1 = $Frow['EmpID'];
$R2 = $Frow['DATE']->format('Y-m-d');
$R3 = $Frow['TIME']->format('H:i:s');
$R4 = $Frow['OBJECT'];
ECHO $R1."   ";
ECHO $R2."    ";
ECHO $R3."    ";
ECHO $R4."</BR> ";
}
sqlsrv_free_stmt( $Fstmt);