0

我有一个页面循环通过 15,000 个条目将它们导入数据库。每 50 个条目后,用户会看到一个继续按钮。

<form name="contine" method="post" action="<?php echo $continue?>">
    <input type="submit" name="Submit" value="Continue"></input>
</form>

这很好用,因为它减慢了脚本的速度,因此它不会加载服务器(运行 PHP4 的 NAS 驱动器),并绕过 php 页面超时。

$continue包含脚本名称和导入的当前位置,因此提交后页面将从那里开始。

我正在尝试这样做,这样用户就不需要在 50 个条目后坐在那里单击继续。总共有 15,000 次点击。

如果我只尝试导入大约 3,000 个条目,我已经尝试过使用header('Location: '.$continue.'/'); This works,除此之外,Chrome 抱怨循环。

所以我希望我可以用一些将为我提交表单的javascript替换输入按钮。

这可能吗?我该怎么做?

谢谢 :)

4

3 回答 3

2

使用纯JS,提交表单使用(需要添加id="continue"到表单):

document.forms["continue"].submit();

使用 jQuery,您可以使用以下代码提交表单:

$('form[name="continue"]').submit();
于 2013-04-18T07:57:23.833 回答
1

您可以添加一个简单地提交表单的 oneliner。此外,您可以在超时内执行此操作,以便用户可以取消该过程。

于 2013-04-18T07:58:00.750 回答
0

您可以在 Location 调用之前放置一个 sleep 命令,还可以添加一个随机字符串 get 变量,以时间戳作为值,以便浏览器看到更不同的查询字符串。显然,您的脚本可以忽略随机获取变量...

于 2013-04-18T07:59:40.553 回答