Спустя 4 минуты, 47 секунд (23.08.2010 - 13:27) linker написал(а):
Через файл + скриптик в crontab, который будет каждый день запускаться и читать значение из файла, инкрементить и писать обратно. Остальным скриптам брать значение из этого файла.
Спустя 7 минут, 50 секунд (23.08.2010 - 13:35) eUop написал(а):
предлагаю обсудить через почту goor86@yandex.ru
Спустя 1 час, 2 минуты, 43 секунды (23.08.2010 - 14:37) linker написал(а):
Если есть хоть немного знаний, то могу и сюда накидать код.
Спустя 20 минут, 11 секунд (23.08.2010 - 14:58) vasa_c написал(а):
Я думаю если вы попробуете описать зачем оно надо, задача решится намного проще.
Спустя 4 часа, 41 минута, 12 секунд (23.08.2010 - 19:39) eUop написал(а):
знания есть, но их действиельно не много.
а надо оно для постепенного вывода бд, где данная переменная в лимите буде определять число выводимых страниц
а надо оно для постепенного вывода бд, где данная переменная в лимите буде определять число выводимых страниц
Спустя 6 минут, 32 секунды (23.08.2010 - 19:45) vasa_c написал(а):
Т.е. значение вашей переменной в каждый момент времени описывается простой функцией от даты? )
Правильно описанная задача - половина решения.
Правильно описанная задача - половина решения.
Спустя 2 минуты, 5 секунд (23.08.2010 - 19:47) eUop написал(а):
ну да.
Спустя 2 часа, 2 минуты, 6 секунд (23.08.2010 - 21:50) linker написал(а):
Скрипт, запускающийся по crontab
1 0 * * * /usr/bin/php <полный путь к скрипту>
<?phpВ другом скрипте описываем функцию
$PathFile = '/temp/value.txt'; // Путь к файлу (абсолютный)
$Value = (file_exists($PathFile)) ? (integer)file_get_contents($PathFile) : 0;
file_put_contents($PathFile, ++ $Value);
?>
<?phpВ остальных своих скриптах, где это необходимо инклудим скрипт с нашей функцией и получаем значение.
function GetValue()
{
return (file_exists('/temp/value.txt')) ? (integer)file_get_contents('/temp/value.txt') : 1;
}
?>
Спустя 2 часа, 44 минуты, 28 секунд (24.08.2010 - 00:34) vasa_c написал(а):
linker, не грузите человека не нужным ему хламом, дайте ему подумать.
Спустя 8 часов, 1 минута, 52 секунды (24.08.2010 - 08:36) linker написал(а):
vasa_c
А кто сказал, что это ему не нужно, да еще и хлам?
А кто сказал, что это ему не нужно, да еще и хлам?
Цитата |
Если есть простое решение этого вопроса подскажите пожалуйста |
Решение наипростейшее, потому и подсказано.
Спустя 27 минут, 27 секунд (24.08.2010 - 09:03) vasa_c написал(а):
Цитата |
Решение наипростейшее, потому и подсказано. |
Решение наиболее черезжопное для данной задачи.
Спустя 16 минут, 40 секунд (24.08.2010 - 09:20) linker написал(а):
vasa_c
Ну да, конечно.
Ну да, конечно.
Спустя 1 минута, 16 секунд (24.08.2010 - 09:21) twin написал(а):
Зачем крон?
Спустя 7 минут, 1 секунда (24.08.2010 - 09:28) linker написал(а):
А чтоб не мешать в кучу разные задачи. Инкремент должен происходить раз в сутки, значит нет необходимости совершать лишние телодвижения в остальное время.
Спустя 4 минуты, 48 секунд (24.08.2010 - 09:33) twin написал(а):
В принципе на первый взгляд логично... Но дело в том, что результат запрашивается то все равно каждый раз, при обращении к бд.
И это можно было бы сделать прямо не отходя от кассы, не используя ни крон, ни тем более файлы.
И это можно было бы сделать прямо не отходя от кассы, не используя ни крон, ни тем более файлы.
Спустя 6 минут, 46 секунд (24.08.2010 - 09:40) linker написал(а):
twin
Результат, вот именно, причем это значение глобальное и независимое от основного кода. Его не нужно вычислять, его не нужно проверять с датой, инкрементить и прочее. Его нужно просто получить и использовать в LIMIT.
Какой простор открывается, можно в скрипте замутить какие-нибудь хитрые инкременты/декременты по сложным условиям и все это будет работать независимо от основного кода.
Результат, вот именно, причем это значение глобальное и независимое от основного кода. Его не нужно вычислять, его не нужно проверять с датой, инкрементить и прочее. Его нужно просто получить и использовать в LIMIT.
Какой простор открывается, можно в скрипте замутить какие-нибудь хитрые инкременты/декременты по сложным условиям и все это будет работать независимо от основного кода.
Спустя 4 минуты (24.08.2010 - 09:44) dr_Lev написал(а):
$start_date = date('2010-01-01 00:00:00.000'); // дата, с которой начинать отсчет
$now_date = date(); // текущая дата
$counter = ceil(($now_date - $start_date) / (60*60*24)); // разница в днях (ceil - стартует с 1, floor - с 0)
Спустя 6 минут, 51 секунда (24.08.2010 - 09:51) linker написал(а):
Только не date(), а mktime() в первом случае и time() во-втором.
Спустя 1 час, 20 минут, 6 секунд (24.08.2010 - 11:11) eUop написал(а):
linker, спасибо, но для меня это слишком.
мне вот ещё такой вариант подсказали
мне вот ещё такой вариант подсказали
<?
$t="24.08.2010";
$t=strtotime($t);
$r=time()-$t;
$g=$r/86400;
?>
Спустя 16 минут, 32 секунды (24.08.2010 - 11:27) linker написал(а):
Знаю, мой вариант не шикарный, но имеет преимущество в масштабировании и гибкости. Я, конечно, махнул лишка.
Собственно тоже самое, что и dr_Lev подсказал, с корректировками.
Собственно тоже самое, что и dr_Lev подсказал, с корректировками.