1

おそらくおわかりのように、私は PHP で mysql を使用するのが苦手です! だからここに私の問題があります:

ID、Date、StartTime、EndTime、Break、および Location という列を持つTimeRecordsという名前の mysql テーブルがあります。

この 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 を減算して 1 日の合計作業時間を取得する別のテーブルを作成するにはどうすればよいですか?

私が理解していることから、この 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 に答える