2012-04-12 4 views
1

아마 PHP로 mysql을 사용하는 것을 빨아 먹을 수도 있습니다! 그래서 내 문제는 여기에있다 :mysql db에서 시간을 더한 다음 PHP를 통해 HTML 테이블에 추가하십시오.

TimeRecords 다음 열이있는 mysql 테이블이있다 : ID, 날짜, 시작 시간, 종료 시간, 중단 시간 및 위치. 나는에 ENDTIME 및 상영을 빼는 것 테이블에서 서로를 어떻게 만듭니 까

<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

어쨌든 두 번째 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

먼저 시도했지만 작동했지만 나중에는 모든 시간을 계산할 셀을 만들려고합니다. PHP에서 단독으로 수행하기에는 너무 많은 작업입니다. 그게 일을하기 위해 mysql이 필요한 이유입니다. 그래도 고마워! – anthropaulogy

관련 문제