[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: подсчет процента
Dizzy
В базе есть такие данные:
- Время начала постройки здания (в time()) - time_begin
- Время когда будет окончена постройка здания (в time()) - time_end

Допустим они имеют значения 1364382468 и 1364387143 соответственно.

time_begin - самое начало стройки, его процент 0%
time_end - самый конец, его процент 100%

Как определить какую долю процента составляет time(), если известно что оно находится в интервале между началом и концом стройки.

Надеюсь понятно изложил. Спасибо!
sign63
<?
$start = 10;
$end = 100;
$now = 34;

$i = $now * 100 / ($end - $start);
echo $i . '%';
?>

_____________
user posted image
Michael
((time() - time_begin)/(time_end - time_begin))*100

_____________
There never was a struggle in the soul of a good man that was not hard
Valick
SELECT (((time_end - time_begin)/100)*(NOW() - time_begin)) percent
FROM `tbl` WHERE id = $id AND NOW() < time_end

как-то так

_____________
Стимулятор ~yoomoney - 41001303250491
T1grOK
Valick у NOW() немного не тот формат. Тут более уместен UNIX_TIMESTAMP()

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Valick
Цитата
Valick у NOW() немного не тот формат

T1grOK, мне пофигу, MySQL кстати тоже :)
у Michael правильный вариант
SELECT ((NOW() - time_begin)/(time_end - time_begin))*100  percent FROM tbl


_____________
Стимулятор ~yoomoney - 41001303250491
sign63
Типо я ваще мимо да?) sad.gif

_____________
user posted image
killer8080
только округлить забыли smile.gif
sign63
<?
$start = 10;
$end = 100;
$now = 49;

$i = $now * 100 / ($end - $start);
$i = round($i);
echo $i . '%';
?>

=)

_____________
user posted image
Valick
хотя не совсем правильно...
я поставил с 16:00 до 18:00 и в 16:44 показывает 22% sad.gif

_____________
Стимулятор ~yoomoney - 41001303250491
sign63
та перевести все в минуты или секунды) шо мучатся)

_____________
user posted image
Valick
sign63, там тип поля timestamp это и есть секунды


_____________
Стимулятор ~yoomoney - 41001303250491
sign63
буду знать) я только учусь)

_____________
user posted image
Michael
Цитата (Valick @ 27.03.2013 - 14:17)
Цитата
Valick у NOW() немного не тот формат

T1grOK, мне пофигу, MySQL кстати тоже :)
у Michael правильный вариант
SELECT ((NOW() - time_begin)/(time_end - time_begin))*100  percent FROM tbl

Выполни запрос:
select now(),now()-1

и наслаждайся результатами :)

_____________
There never was a struggle in the soul of a good man that was not hard
T1grOK
Цитата (Michael @ 27.03.2013 - 14:27)
и наслаждайся результатами :)

Конечно наслаждаемся. Только неправильными)
NOW() - 1 - даст строкое представление даты
И это
SELECT ((NOW() - time_begin)/(time_end - time_begin))*100  percent FROM tbl

Даст полную ахинею.

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.