2012-04-12 10 views
1

おそらく私はPHPでmysqlを使用していると言うことができます!したがって、私の問題は次のとおりです。mysql dbから時間を追加して、PHP経由でHTMLテーブルに追加する

私はという名前のテーブルmysqlを持っています。ID、日付、開始時刻、終了時刻、区切り、および場所の列には、のTimeRecordsという名前の列があります。私はと終了時間とのStartTimeを差し引きますテーブル内の別を作成するにはどうすればよい

<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> 

私はこのSELECT

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

を使用してその情報を表示するテーブルと、このこのコードを持っていますその日の総労働時間を取得しますか?私は、このSELECTを使用して、その情報をつかむことができます理解して何から

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

が、私は私がループ内でそれを表示するために行うことになっていますかわからないです。どんな助けもありがとう!

+1

'$ Row ['TimeWorked']'を試してみませんか? –

+0

何とか私は2番目のSELECTクエリを呼び出す必要がありますが、私は最初のループからどのように行うのか分かりません。 – anthropaulogy

+0

最初の唯一の必要なクエリで '、'の後に '((EndTime - StartTime)/ 60/60)AS TimeWorked'を挿入します。次に、その値を '$ Row ['TimeWorked']'でループ内に取得します。 –

答えて

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' 
    "); 

を参照してください。

+0

ありがとう!それは魅力のように働いた。 。*やa.StartTimeなどの "a"はどういう意味ですか? – anthropaulogy

+0

テーブル 'TimeRecords'を参照する構文。通常、複数のテーブルからデータを取り出す場合にのみ必要です(ここでは実際には必要ありません)。しかし、それらを追加するのは反射的です。 – Femi

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>"; 

私はあなたが何を意味するのか分かりませんが、それはあなたのために働くでしょうか?

+0

私はそれを最初に試してみましたが、それはうまくいきましたが、後で私はすべての時間を合計したセルを作成しようとしています。それは私が仕事をするためにmysqlが必要な理由です。しかし、ありがとう! – anthropaulogy

関連する問題