php随机变量倒计时时间有限

时间:2015-06-28 06:09:33

标签: javascript php jquery ajax

我正在写一个随机倒计时,显示促销中剩下的产品数量与计时器一起。剩下的产品数量存储在数据库中,因此所有用户都看到相同的数字。我使用简单的php / ajax / javascript解决方案。我的问题在于分发随机销售,所以所有这些都适合有限的计时器并且分布很好。

这是我到目前为止的代码:

function start() {
    $date= new DateTime();
    $prod_left = getval("SELECT * FROM counter LIMIT 1");
    if ( $prod_left == 20 ) {
        $fp = fopen("../index.html", "r+");
        while($buf = fgets($fp)){
            if(preg_match("/<!--(.|\s)*?-->/", $buf)){
                fputs($fp, '<script type="text/javascript">$(document).ready(function() {$(".countdown").circularCountdown({startDate:"' . $date->format('Y/m/d H:i:s') . '",endDate:"' . $date->modify("+5minutes")->format('Y/m/d H:i:s') . '",timeZone:+2});});</script></body></html>');
            }
        }
        fclose($fp);
        sleep(30);
        while ($prod_left > 0) {
            if (rand(0,4) > 2) {
                $prod_left--;
                sleep(rand(1,13));
                updateval($prod_left);
            }
        }

    } else {
        echo 'Promocja w trakcie lub zakończona, zresetuj zegar, jeżeli chcesz rozpocząć ponownie';
    }
    exit;
}

我的假设是:50%的时间减少计时器并平均等待6.5秒,这平均应该给我260秒的全额销售。不幸的是它的分布非常不均匀。 我的目标是在循环开始后不迟于270秒将$ prod_value降至0,并且分布均匀的值会减少(可以加速结束)你能帮忙吗?

实现不需要使用任何特定的编程语言,我只是寻找一条线索/概念,我可以遵循以实现这一点。

最奇怪的是,$ prod_left值并不总是为0,在sime迭代中它只是3或5。

请帮忙!

0 个答案:

没有答案