sql функция timediff - PullRequest
       3

sql функция timediff

1 голос
/ 29 марта 2012

Как правильно использовать mysql TIMEDIFF (или что-то подобное)?В базе данных у меня есть столбец с именем date, и это настройка CURRENT_TIMESTAMP.Я пытаюсь вычислить разницу между CURRENT_TIMESTAMP и прямо сейчас в строке, а затем повторить это для всех строк ... вот мой сценарий

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

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 29 марта 2012

Это может сильно зависеть от вашего выхода.

Например, TIMEDIFF() вывод - это часы, минуты, секунды.Таким образом, он ограничен типом данных TIME.

. При заданной единице SECOND, TIMESTAMPDIFF() является более надежным решением. MySQL Date and Time functions .

В конце вы обычно видите, как эти вычисления выполняются с помощью кода.Это не с SQL.В вашем случае PHP.Вы можете сделать простую арифметику, вычитая временные метки из strtotime().Или, если вы используете PHP> = 5.3, вы можете использовать DateTime::diff.

В качестве исключения, избегайте именования столбцов ключевыми словами, например date.

0 голосов
/ 29 марта 2012

Я бы сделал так:

SELECT (fields), UNIX_TIMESTAMP(date) as date FROM currentrentals

И тогда вы можете получить доступ к дате с $row['date']. Теперь вы можете легко вычесть эти даты.

$timesince = date(format, time() - $row['date']);

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...