2012-01-24 8 views
0

Так что я вычисляю уравнение так, чтобы я мог эхо-статистику. Эта статистика будет возвращена в HTML через ajax и выписана пользователю. setInterval будет следить за тем, чтобы он обновлялся в реальном времени. Он очень похож на этот http://www.usagain.com/ с левой стороны. Проблема в том, что я хочу начать эту инкрементацию с определенного числа.Текущие статистические данные

Я основываю его на $_SERVER[REQUEST_TIME] так, чтобы он всегда увеличивался и только когда-либо обнулялся, как только он достиг своего максимума. Проблема в том, что мне нужно определить начальный номер. Вот уравнение, которое пользователь Uboonto придумал:

value = (timestamp % ((max_limit - min_limit)/1.5)) * 1.5 + min_limit

Это будет увеличиваться либо второй по 1,5 - проблема в том, что это уравнение начинает случайным образом между $min и $max вместо в качестве исходного числа я определяю. Кто-нибудь знает, как изменить это уравнение, чтобы я мог указать начальный номер, который я могу определить?

Я пробовал:

value = ((timestamp + modifier) % ((max_limit - min_limit)/1.5)) * 1.5 + min_limit

и

value = ((timestamp - modifier) % ((max_limit - min_limit)/1.5)) * 1.5 + min_limit

, но не повезло. Я открыт для предложений.

+1

Почему бы не просто определить его, прежде чем перезаписывать он в петле, как и вам. '$ value = 'default'; while() {$ value = 'whatever'} ' – MetalFrog

+0

Я не уверен, что вы имеете в виду. Если я переписал значение, оно не будет начинаться ни с какого числа, на котором я хочу. Он начинается с среднего числа между '$ min' и' $ max' –

+0

. Я не совсем понимаю, что вы делаете для начала. Я предположил, что значение - это просто переменная, которую вы увеличивали в цикле. Вы должны написать больше кода, чтобы мы могли выяснить, что происходит. – MetalFrog

ответ

1

Один подход был бы просто вычислить разницу между некоторой произвольной точки во времени и известное значение, в то время и умножить на количество приращений в секунду:

$startValue = 1000000; // 1 million 
$startTime = mktime(0, 0, 0, 1, 1, 2012); // 2012-01-01 00:00:00 
$incPerSec = 1; // increment $startValue by this for every second elapsed since $startTime 
$seconds = time() - $startTime; 

$value = $startValue + ($seconds * $incPerSec); 

echo $value; 
+0

См. Тогда я все еще догадываюсь о дате, так что число отражает то, что я хочу инкрементировать, чтобы начать. –

+0

Вам нужно запустить его где-нибудь, если вы хотите, чтобы число постоянно поднималось. Просто выберите дату. Неважно, что это такое. Затем отрегулируйте '$ startValue' по мере необходимости. – FtDRbwLXw6

+0

Я получил. Так что я очень хочу начать дату заранее, чтобы начать отсчет с этой даты. Вэрри круто. –

Смежные вопросы