1

正如您可能会说的那样,我不擅长将 mysql 与 PHP 一起使用!所以这是我的问题:

我有一个名为TimeRecords的 mysql 表,其中包含以下列:ID、Date、StartTime、EndTime、Break 和 Location。

我有一个使用此 SELECT 显示该信息的表

$result = mysql_query("
        SELECT * FROM TimeRecords
        WHERE Date
        BETWEEN '{$CurrentYear}-{$CurrentMonth}-1'
        AND '{$CurrentYear}-{$CurrentMonth}-31'
    ");

这个代码:

<table>
    <tr>
        <th>Location:</th>
        <th>Date:</th>
        <th>Start:</th>
        <th>End:</th>
        <th>Break?</th>
        <th>Total Hours</th>
    </tr>

    <?php 
        while($row = mysql_fetch_array($result)) {

            echo "<tr>";
                echo "<td>". $row['Location'] . "</td>";
                echo "<td>". $row['Date'] . "</td>";

                echo "<td>" . date("h:i A", ($row['StartTime'])) . "</td>";
                echo "<td>" . date("h:i A", ($row['EndTime'])) . "</td>";

                echo "<td>";

                if ($row['Break']==1){
                    echo "Yes";
                }
                else {
                    echo "No";
                }
                echo "</td>";

            echo "</tr>";
        }


?>
</table>

如何在表格中创建另一个减去 EndTime 和 StartTime 以获得当天工作的总小时数?

据我了解,我可以使用此 SELECT 获取该信息:

$TimeWorked = mysql_query("
        SELECT ((EndTime - StartTime)/60/60) AS TimeWorked
        FROM TimeRecords
        ")

但我不确定我应该怎么做才能在循环中显示它。任何帮助,将不胜感激!

4

2 回答 2

1

尝试:

$result = mysql_query("
        SELECT a.*, ((a.EndTime - a.StartTime)/3600) AS TotalHours FROM TimeRecords a
        WHERE Date
        BETWEEN '{$CurrentYear}-{$CurrentMonth}-1'
        AND '{$CurrentYear}-{$CurrentMonth}-31'
    ");

看看这是否适合你。

于 2012-04-12T08:22:04.203 回答
0
$starttime = $row['StartTime']
$endtime = $row['EndTime']
echo "<td>" . date("h:i A", ($starttime)) . "</td>";
echo "<td>" . date("h:i A", ($endtime)) . "</td>";
echo "<td>" . ($endtime - $starttime)/3600 . "</td>";

我不完全确定我明白你的意思,但这对你有用吗?

于 2012-04-12T08:27:32.767 回答