我有一个PHP,它接收一个用于查询数据库的参数(例如4000)。在执行了它需要做的任何事情后,我希望PHP调用自己,这样它可以做同样的事情,但这次使用新值(例如8000)。 Ofocurse我需要第一个实例来停止/退出/停止。
我该怎么做?包含是无关紧要的,exec对其他类型的执行有好处(除非我在这里错了)
由于
答案 0 :(得分:1)
如果您不需要从脚本输出任何内容,则可以执行以下操作:
如果希望脚本生成输出,可以使用Javascript函数location.href而不是location头。为此,在脚本末尾输出类似以下代码段的内容:
// php functionality above
?>
<script language="JavaScript">
location.href = "<?php echo $_SERVER['SCRIPT_NAME']; ?>?param=<php echo $param_value; ?>";
</script>
修改此项以满足您的需求。标题更适合于非交互式设置,例如links2浏览器,而如果你想查看最新情况,你会使用JavaScript。
答案 1 :(得分:0)
您可以使用递归函数,这意味着从该函数调用相同的函数。基于您给出的数字的简单示例:
<?php
function do_something( $arg )
{
// Just do something (example)
echo $arg . "\n";
$arg = $arg + 4000;
// Stop doing it when the argument is above 8000
if( $arg > 8000 )
{
return;
}
// Do it again
do_something( $arg );
}
do_something( 4000 );
答案 2 :(得分:0)
您可以使用header()方法使脚本调用自身。
假设您想要在名为whatever.php的每次运行中检索一批24行。
你告诉whatever.php要注意$ _GET参数。如果没有,则在查询数据库时告诉它从零开始(&#34; ... LIMIT 24&#34;)。在您完成了使用header()方法所需的内容之后,再次调用whatever.php:
header('Location:whatever.php?offset=25');
现在,whatever.php在被调用时会知道它必须对sql LIMIT施加一个偏移量(&#34; ...... LIMIT 25,24和#34;)。脚本再次完成它的工作后,再次使用header()方法调用它:
header('Location:whatever.php?offset=50');
希望这可以帮助你...