Intereting Posts
Наличие двух разных сеансов в одном домене Ошибка при попытке запустить HipHop в «режиме 2 (компиляция HipHop во временном каталоге и запуск скомпилированной программы из командной строки») Красноречивый код ORM, указывающий в PhpStorm Как обновить всплывающее содержимое с помощью MarkerCluster с помощью листовки Преобразование символов с акцентом в их простые эквиваленты ascii Отношение модели CakePHP, имеющее 2 внешних ключа в одной таблице Как читать изображения из базы данных MySQL с помощью PHP? Фильтровать значения из массива в PHP 401 перенаправляет магически приводит к перенаправлению 302 Правильный путь sqlite / URI для php pdo на окнах Невозможно отобразить изображение BLOB с помощью URI данных Ошибка скручивания 60, проблема с сертификатом SSL: самоподписанный сертификат в цепочке сертификатов Установка Php на сервере Windows 2012 IIS 8 Laravel Redirect :: предназначенные () условные резервные копии API-интерфейс Google Drive PHP – как передать большой файл

Преобразование секунд в HH: MM: SS

Я нашел функцию для преобразования секунд в HH: MM: SS онлайн, функция такова:

function sec2hms ($sec, $padHours = false) { $hms = ""; $hours = intval(intval($sec) / 3600); $hms .= ($padHours) ? str_pad($hours, 2, "0", STR_PAD_LEFT). ':' : $hours. ':'; $minutes = intval(($sec / 60) % 60); $hms .= str_pad($minutes, 2, "0", STR_PAD_LEFT). ':'; $seconds = intval($sec % 60); $hms .= str_pad($seconds, 2, "0", STR_PAD_LEFT); return $hms; } 

Я знаю, что это прекрасно работает, как будто я echo(sec2hms(3600)); он вернется с 1:00:00

То, что я хочу, это использовать эту функцию для преобразования каждой отдельной записи в timeran столбца, а затем отобразить ее в таблице HTML с username и score столбцов. Я не уверен, как это сделать, чтобы кто-то мог мне помочь это было бы здорово. В настоящее время я использую код ниже, чтобы отобразить таблицу, но это показывает только время, затраченное в секундах, и я хотел бы, чтобы он находился в HH: MM: SS:

 <tr> <th>Rank</th> <th>Username</th> <th>Time Taken (s)</th> <th>Score</th> </tr> </thead> <tbody> <?php $result = mysql_query("SELECT * FROM gamescores ORDER BY Time DESC"); if (mysql_num_rows($result)) { for($rank=1; $row = mysql_fetch_assoc($result); $rank++) { echo "<tr> <td>{$rank}</td> <td>{$row['username']}</td> <td>{$row['timetaken']}</td> <td>{$row['score']}</td> 

Если есть лучший способ конвертировать секунды в HH: MM: SS, тогда это тоже здорово, спасибо!

Используйте функцию MySQL SEC_TO_TIME.

Пример:

 mysql> SELECT SEC_TO_TIME(2378); -> '00:39:38' 

Поэтому вы можете написать свой SQL-запрос как:

 SELECT username, score, SEC_TO_TIME(timeran) as timetaken FROM gamescores ORDER BY Time DESC 

Тогда ваш код будет выглядеть следующим образом:

 <?php $result = mysql_query("SELECT username, score, SEC_TO_TIME(timeran) as timetaken FROM gamescores ORDER BY Time DESC"); if (mysql_num_rows($result)) { for($rank=1; $row = mysql_fetch_assoc($result); $rank++) { echo "<tr> <td>{$rank}</td> <td>{$row['username']}</td> <td>{$row['timetaken']}</td> <td>{$row['score']}</td> 

Вам нужно обернуть свой вывод функцией. Поместите этот код в нужное место.

 echo "<td>". sec2hms($row['timetaken']) . "</td>";