找到最合适的数值x可被整除

时间:2014-01-21 10:36:07

标签: php mysql xml

我有一个问题,我现在设法修复,但修复不会在x更改后立即生效。

我需要做什么。

从数据库中获取所有项目(此数据库不是我的,因此数据可以随时更改)并获取该项目的ID。 对于我得到的每个ID,我需要从另一个创建xml输出的源获取数据。 现在它创建一个包含ID,商品购买价格,商品销售价格等等的数组......并在重复的密钥上插入更新我自己的数据库中的表。

这是我面临的一些限制: 1.从中获取商品价格数据等的数据源不允许长度超过8149个字符的网址。 2.数据源也不喜欢它,当我发出数千个单项请求时(目前有9350个项目,也就是9350单个请求意味着我将被快速列入黑名单)。 3.项目数量可能在未来发生变化(少或多)。

此时,一切正常,通过在项目ID数组的foreach循环中执行if循环($ i ++)直到我达到9350(一次50个项目ID的一组将被放入URL)。 对于每50个项目,一个函数使用给定的URL执行curl请求,使用我服务器上的数据创建一个新的xml文件,这会在我的服务器上生成187 xml文件(这非常有效)。

在此之后,我读出每个xml文件并将数据转储到我自己的表中。

我的问题简而言之:

9350 / 50 = 187 (a round number)

但是,只要我有9351个或更多项目,它就不能被50整除(不是一个整数)。

有人会更好地了解如何做到这一点吗?

细节: 项目数据来自EVE Online数据库转储,因此具有可变数量的ID。 商品价格来自对eve-central.com/api/marketstat?itemid=xxxxxxx&itemid=xxxxxx&systemid=xxxxxx的网址调用(粗略最大值为60 * itemid =)

编辑: foreach循环。

 $i = 0;
    $j = 0;
    foreach($itemidarray as $itemid){
        $id = $itemid["itemID"];
        if($i == 50){
            $j++;
            $url .= '&typeid=';
            $url .= "$id";
            $url .= '&usesystem=30000421';
            xmlcreatorfunction($url, $j);
            $i = 0;
        }
        else{
            $url .= '&typeid=';
            $url .= "$id";
            $i++;
        }
    }

我希望你能看到一旦我有超过9350项目ID,这可能会引发问题。

0 个答案:

没有答案