Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Математические действия в PHP

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Jasper
Отправлено: 19 Сентября, 2012 - 05:06:47
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Всем привет. Хотелось бы узнать, можно ли выполнять математические действия (умножение, сложение, деление, вычитание) в php через определённый промежуток времени?
К примеру по часам: Есть число 10 в 12 часов нужно прибавить 3, в 18 часов вычесть 5
Или через промежуток времени: Есть число 10, через 30 минут надо прибавить 3, через 180 минут вычесть 5

Возможно ли такое? Если да, подскажите как сделать пожалуйста.
Спасибо.


Отредактировано модератором: Мелкий, 19 Сентября, 2012 - 09:23:07
 
 Top
likvidator
Отправлено: 19 Сентября, 2012 - 05:41:55
Post Id


Посетитель


Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012  


Помог: 4 раз(а)

[+]


скорее всего : https://www[dot]google[dot]ru/search?q=nncron - поможет
 
 Top
Jasper
Отправлено: 19 Сентября, 2012 - 12:28:40
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




likvidator пишет:
скорее всего : https://www[dot]google[dot]ru/search?q=nncron - поможет

то есть средствами php этого добиться невозможно? Растерялся
 
 Top
mess
Отправлено: 19 Сентября, 2012 - 16:01:57
Post Id



Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Сент. 2012  
Откуда: Урал)


Помог: 0 раз(а)




Jasper пишет:
likvidator пишет:
скорее всего : https://www[dot]google[dot]ru/search?q=nncron - поможет

то есть средствами php этого добиться невозможно? Растерялся


Cron или JavaScript (Timer)


-----
SyNaPsE >.<
Помог? Плюсик!)
 
 Top
Bartezz
Отправлено: 19 Сентября, 2012 - 16:32:42
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2010  


Помог: 1 раз(а)




Если только зайти от обратного.
1. Получить текущую дату (дату от которой начинать отчет)
2. Определить время когда произвести математические действия
3. При необходимо произвести расчет прошедшего времени (сколько раз необходимо было произвести прибавление, вычитание, добавление... да хоть что)

Если на php то как то так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $k=10;
  3.  
  4. $date="19.09.2012 12:00";
  5. // определяем кол-во минут прошедших с установленной даты до текущего момента
  6. $out_time = (time()-strtotime($date))/60;
  7.  
  8. // выполняем необходимые действия над переменной $k - каждый 30 минут прибавляем 3
  9. $k=floor($out_time/30)*3+$k;
  10.  
  11. // выполняем необходимые действия над переменной $k - каждый 180 минут вычитаем 5
  12. $k=$k-floor($out_time/180)*5;
  13. ?>


Примитивный пример как можно организовать такого рода процедуры, вызов нового значения, соответсвенно, при каждом вызове скрипта на сервере

(Отредактировано автором: 19 Сентября, 2012 - 17:56:16)

 
 Top
NoPaper
Отправлено: 19 Сентября, 2012 - 16:46:13
Post Id



Посетитель


Покинул форум
Сообщений всего: 315
Дата рег-ции: Янв. 2012  
Откуда: Минск


Помог: 9 раз(а)




Скрипт будет выполняться >180 минут?
Если да - без проблем, в замкнутом цикле проверять минуты и выполнять определенные действия.

Если нет, придется подключить cron, который через определенное будет обращаться к php скрипту.
 
 Top
Jasper
Отправлено: 19 Сентября, 2012 - 16:56:08
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Bartezz пишет:
Если только зайти от обратного.
1. Получить текущую дату (дату от которой начинать отчет)
2. Определить время когда произвести математические действия
3. При необходимо произвести расчет прошедшего времени (сколько раз необходимо было произвести прибавление, вычитание, добавление... да хоть что)

Если на php то как то так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $k=10;
  3.  
  4. $date="19.09.2012 12:00";
  5. // определяем кол-во минут прошедших с установленной даты до текущего момента
  6. $out_time = (strtotime($date)-strtotime ("10.04.2012"))/60;
  7.  
  8. // выполняем необходимые действия над переменной $k - каждый 30 минут прибавляем 3
  9. $k=floor($out_time/30)*3+$k;
  10.  
  11. // выполняем необходимые действия над переменной $k - каждый 180 минут вычитаем 5
  12. $k=$k-floor($out_time/180)*5;
  13. ?>


Примитивный пример как можно организовать такого рода процедуры, вызов нового значения, соответсвенно, при каждом вызове скрипта на сервере


огромное спсибо.после работы попробую. все доходчиво понятно обьяснили.как попробую отпишусь
 
 Top
Bartezz
Отправлено: 19 Сентября, 2012 - 17:54:44
Post Id



Гость


Покинул форум
Сообщений всего: 70
Дата рег-ции: Февр. 2010  


Помог: 1 раз(а)




Немного подправил код, так как торопился и написал не совсем то что надо=)
 
 Top
Jasper
Отправлено: 19 Сентября, 2012 - 18:44:58
Post Id


Новичок


Покинул форум
Сообщений всего: 29
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)




Bartezz пишет:
Немного подправил код, так как торопился и написал не совсем то что надо=)

окей)) бывает) как раз хотел спросить зачем нужна дата 10.04.2012) а это и была ошибка)
(Добавление)
PHP:
скопировать код в буфер обмена
  1.     <?PHP
  2.     $k=10;
  3.      
  4.     $date="19.09.2012 12:00";
  5.     // определяем кол-во минут прошедших с установленной даты до текущего момента
  6.     $out_time = (time()-strtotime($date))/60;
  7.      
  8.     // выполняем необходимые действия над переменной $k - каждый 30 минут прибавляем 3
  9.     $k=floor($out_time/30)*3+$k;
  10.      
  11.     // выполняем необходимые действия над переменной $k - каждый 180 минут вычитаем 5
  12.     $k=$k-floor($out_time/180)*5;
  13.     ?>


Всё работает как и нужно, просто замечаельно) большое спасибо за помощь) Радость

(Отредактировано автором: 19 Сентября, 2012 - 20:39:21)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB