What is the proper way to use mysql TIMEDIFF, (or something similar)? In database I have a column called date, and it is setup CURRENT_TIMESTAMP. I’m trying to calculate the differene between the CURRENT_TIMESTAMP and right now in a row, and than echo that to all the rows.. here’s my script
<?php
mysql_connect("localhost","root","");//database connection
mysql_select_db("beyondmotors");
$result = mysql_query("SELECT * FROM currentrentals");
echo "<table border='2'>
<tr>
<th>ID</th>
<th>Year</th>
<th>Make</th>
<th>Model</th>
<th>First Name</th>
<th>Last Name</th>
<th>Insurance</th>
<th>Date</th>
<th>Notes</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['year'] . "</td>";
echo "<td>" . $row['make'] . "</td>";
echo "<td>" . $row['model'] . "</td>";
echo "<td>" . $row['firstname'] . "</td>";
echo "<td>" . $row['lastname'] . "</td>";
echo "<td>" . $row['insurance'] . "</td>";
echo "<td>" . $row['date'] . "</td>";
echo "<td>" . $row['notes'] . "</td>";
echo ("<td><a href=\"edit_form.php?id=$row[id]\">Edit</a></td></tr>");
echo "</tr>";
}
echo "</table>";
Thanks in advance
This can be heavily dependent on your output.
For example,
TIMEDIFF()outputs is hours, minutes, seconds. As such, it is limited to the data typeTIME.Given a unit of
SECOND,TIMESTAMPDIFF()is a more robust solution.All of this is well documented in MySQL Date and Time functions.
In the end, you typically see these calculations done with code. That is not with SQL. In your case PHP. You could do simple arithmetic by subtracting the timestamps from
strtotime(). Or if you are using PHP >= 5.3, you could useDateTime::diff.As an aside, avoid naming your columns keywords, i.e.
date.