2013-03-26 51 views
0

我目前有一個系統,輸出一個等待時間,給定他們的到達時間和當前時間; (當前時間 - 到達時間)。我將如何編程代碼以便SQL時間超過

if the waiting_time exceeds 3 hours then alert "patient must be seen next!" 

這是我迄今爲止計算waiting_time的代碼。

<?php 

$conn = mysqli_connect("localhost","root","") or die ("No connection"); 
mysqli_select_db($conn, "a&e") or die('Could not select database.'); 

$query = "SELECT PatientID, Forename, Surname, Gender, Illness, Priority, Arrival_time, TIME_FORMAT(ABS(TIMEDIFF(CURTIME(), Arrival_time)),'%H hours') as Waiting_Time FROM Patient"; 
$result = mysqli_query($conn, $query) or die("Invalid query"); 

echo "<table border='1'> 
<tr> 
<th>PatientID</th> 
<th>Forename</th> 
<th>Surname</th> 
<th>Gender</th> 
<th>Illness</th> 
<th>Priority</th> 
<th>Waiting Time</th> 
</tr>"; 

while ($row = $result->fetch_object()){ 

echo "<tr> 
    <td>" . $row->PatientID . "</td> 
    <td>" . $row->Forename . "</td> 
    <td>" . $row->Surname . "</td> 
    <td>" . $row->Gender . "</td> 
    <td>" . $row->Illness . "</td> 
    <td>" . $row->Priority . "</td> 
    <td>" . $row->Waiting_Time . "</td> 
    </tr>"; 

} 

echo "</table>"; 
mysqli_close($conn); 
?> 
+0

您駕駛室檢查在到達時間和當前時間之間經過多少分鐘,如果> 180(3小時* 60分鐘),則顯示某種警報/通知。您也可以通過等待時間排序desc SELECT NOW(),TIMESTAMPDIFF(MINUTE,'2013-03-26 08:24; 15',NOW())AS WaitTime,IF(TIMESTAMPDIFF(MINUTE,'2013-03-26 08 :24; 15',NOW())> = 180,'alert','na');希望這有助於 – 2013-03-26 15:42:04

+0

我如何檢查到達時間和當前時間之間已經過了多少分鐘? – 2013-03-26 15:55:22

+0

檢查TIMESTAMPDIFF的語法 – 2013-03-26 15:56:30

回答

0
$query = "SELECT PatientID, Forename, Surname, Gender, Illness, Priority, Arrival_time, 
      TIME_FORMAT(ABS(TIMEDIFF(CURTIME(), Arrival_time)),'%H hours') as Waiting_Time 
      FROM Patient 
      ORDER BY TIMEDIFF(CURTIME(), Arrival_time) DESC"; 

然後你的結果排序,最長等待第一。

<?php 

while ($row = $result->fetch_object()): ?> 

    <tr> 
    <td><?=$row->PatientID?></td> 
    <td><?=$row->Forename?></td> 
    <td><?=$row->Surname?></td> 
    <td><?=$row->Gender?></td> 
    <td><?=$row->Illness?></td> 
    <td><?=$row->Priority?></td> 
    <td><?=$row->Waiting_Time?> 
     <? if ($row->Waiting_Time >= 3): ?> 
      <strong>Patient must be seen!</strong> 
     <? endif; ?> 
    </td> 
    </tr> 

<? endwhile; ?> 
+0

這不適合我,你有沒有測試過這個? – 2013-03-26 17:00:08

+0

不,我沒有。我不打算創建這個模式只是爲了測試這個 – 2013-03-26 17:05:48

+0

不幸的是它不工作,我需要它工作! – 2013-03-26 18:20:10

相關問題