从mysql数据库中计算小时数,然后通过PHP将其添加到HTML表中

从mysql数据库中计算小时数,然后通过PHP将其添加到HTML表中,php,mysql,html-table,Php,Mysql,Html Table,正如您可能知道的那样,我不擅长将mysql与PHP结合使用!这就是我的问题: 我有一个名为TimeRecords的mysql表,其中包含以下列:ID、日期、StartTime、EndTime、Break和Location 我有一个表,可以使用此选择来显示该信息 $result = mysql_query(" SELECT * FROM TimeRecords WHERE Date BETWEEN '{$CurrentYear}-{$CurrentM

正如您可能知道的那样,我不擅长将mysql与PHP结合使用!这就是我的问题:

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

我有一个表,可以使用此选择来显示该信息

$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>
但是我不确定我应该怎么做才能在循环中显示它。任何帮助都将不胜感激

试试看:

$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'
    ");
看看这是否适合你。

试试:

$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'
    ");
$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>";
看看这是否适合您。

$starttime=$row['starttime']
$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>";
$endtime=$row['endtime'] “回声”。日期(“h:i A”,($starttime))。""; “回声”。日期(“h:IA”,($endtime))。""; “回声”。($endtime-$starttime)/3600。"";
我不完全确定我知道你的意思,但这对你有用吗?

$starttime=$row['starttime']
$endtime=$row['endtime']
“回声”。日期(“h:i A”,($starttime))。"";
“回声”。日期(“h:IA”,($endtime))。"";
“回声”。($endtime-$starttime)/3600。"";

我不完全确定我是否知道你的意思,但这对你有用吗?

不知何故,我需要调用第二个SELECT查询,但我不确定如何从第一个循环执行。在第一个也是唯一需要的查询中的
*
之后插入
,((EndTime-StartTime)/60/60)作为时间工作的
。然后在循环中使用
$row['TimeWorked']
获取该值。不知何故,我需要调用第二个SELECT查询,但我不确定如何从第一个循环中执行该操作。在第一个也是唯一需要的查询中的
*
之后插入
,((EndTime-StartTime)/60/60)作为TimeWorked
。然后在循环中使用
$row['TimeWorked']
获取该值。我首先尝试了这个方法,它是有效的,但稍后我将创建一个单元格,它将计算所有工作小时的总和,这太多的工作单靠PHP无法完成。这就是为什么我需要mysql来做这项工作。谢谢你!我首先尝试了这个方法,它是有效的,但稍后我将创建一个单元格,它将计算所有工作时间的总和,而这太多的工作单用PHP无法完成。这就是为什么我需要mysql来做这项工作。谢谢你!非常感谢你!它就像一个符咒。但是a.*和a.StartTime等中的“a”是什么意思呢?引用表
TimeRecords
的语法。通常只有当您从多个表中提取数据时才需要它(所以这里并不是真的需要),但我需要添加它们。非常感谢!它就像一个符咒。但是a.*和a.StartTime等中的“a”是什么意思呢?引用表
TimeRecords
的语法。通常只有当您从多个表中提取数据时才需要它(所以这里并不是真的需要),但我需要添加它们。