PHP使用新的参数值

时间:2016-02-15 12:52:31

标签: php

我有一个PHP,它接收一个用于查询数据库的参数(例如4000)。在执行了它需要做的任何事情后,我希望PHP调用自己,这样它可以做同样的事情,但这次使用新值(例如8000)。 Ofocurse我需要第一个实例来停止/退出/停止。

我该怎么做?包含是无关紧要的,exec对其他类型的执行有好处(除非我在这里错了)

由于

3 个答案:

答案 0 :(得分:1)

如果您不需要从脚本输出任何内容,则可以执行以下操作:

  • 在不运行脚本超时的情况下执行任务
  • 使用修改后的参数
  • 为脚本本身设置location header
  • 出口

如果希望脚本生成输出,可以使用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');

希望这可以帮助你...