PHPを使用して患者の待ち時間を計算する簡単な時間関数を取得しようとしています。到着時間は、タイムスタンプとして患者テーブルに正常に入力されます。これがこのためのコードです。
// validate arrival time
$date_time=date('Y-m-d H:i:sa');
clock time
date_default_timezone_set('Europe/London');
$the_time1 = date('G:ia');
待ち時間は(時計の時間-到着時間)になります
ただし、これは私のコードでは機能しません。
<?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 FROM Patient";
$result = mysqli_query($conn, $query) or die("Invalid query");
date_default_timezone_set('Europe/London');
$the_time1 = date('G:ia');
$date_time=date('Y-m-d H:i:sa');
echo Waiting_time($the_time1, $date_time);
function waiting_time ( $the_time1, $date_time) {
$time_diff = ( $the_time1, $date_time); {
$days = floor( $time_diff / 86400 ); // 60 * 60 * 24 = number of seconds in a day
$time_diff -= $days * 86400;
$hours = floor( $time_diff / 3600 ); // 60 * 60 = number of seconds in a hour
$time_diff -= $hours * 3600;
$mins = floor( $time_diff / 60 ); // 60 = number of seconds in a minute
return( $days . ' days, ' . $hours . ' hours, ' . $mins . ' minutes' );
}
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>";
}
echo "<tr>
<td>" . $row[0] . "</td>
<td>" . $row[1] . "</td>
<td>" . $row[2] . "</td>
<td>" . $row[3] . "</td>
<td>" . $row[4] . "</td>
<td>" . $row[5] . "</td>
<td>" . $waitTime . "</td>
</tr>";
}
echo "</table>";
mysqli_close($conn);
?>
編集;
コードをこれに変更しました。
<?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 as Waiting_Time FROM Patient";
$result = mysqli_query($conn, $query) or die("Invalid query");
date_default_timezone_set('Europe/London');
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);
?>
これにより、データは次のように表示されます。
PatientID Forename Surname Gender Illness Priority Waiting_Time
249 Sara Kearns F Immediate high 2013-03-20 22:18:01
時間単位で表示するには待機時間が必要です。例:1:15:23