假设我有这样的事情:
$count = 0;
foreach($CourseDetails as $course_line) {
print "<tr><td>{$course_line['class_code']}</td>
<td>{$course_line['class_name']}</td>
<td>{$course_line['class_unit']}</td>
<td>{$course_line['class_description']}</td>
<td>{$course_line['class_instructors']}</td>";
$count = $count + 1
if ($count = 10);
$count = 0;
// code that stops script and makes a "Continue?" button pop up on the webpage under the already outputed details
// if the client presses the "Continue?" button, allow the script to continue (jump back into the foreach loop)
}
我试图找到一种方法来停止脚本,然后按下一个按钮说&#34;继续?&#34;。如果客户端按下按钮,我希望脚本在停止的地方继续。 PHP有任何允许这样做的功能吗?
答案 0 :(得分:1)
简答:不!
这更像是一个工作流程设计问题。我建议创建一个要执行的项目列表。然后尝试执行它们(因为它们被成功处理,将它们标记为完成),如果发生错误,则停止执行并让用户知道。如果用户希望继续,请重新加载页面,然后继续执行初始列表中尚未完成的项目。
答案 1 :(得分:0)
在浏览器中加载页面后,您无法停止脚本。您只能在脚本中创建中断条件。 &#34;记忆&#34;的两种方式页面之间要么传递一个URL变量,例如start = 20,或者使用$ _SESSION变量来记住最后一个中断点。最好通过URL传递变量,以便可以单独访问页面。
然后,在循环中,只需评估条目是否具有高于最后一个中断的数字。以下假设您的课程是带有数字索引的数组,在这种情况下,$ count是多余的。如果您从数据库中提取它们,请采取完全不同的方法......
$start = !empty($_GET['start']) ? $_GET['start'] : 0;
$offset = 10;
foreach($CourseDetails as $course_num => $course_line) {
if ($course_num < $start) continue; // These were already seen.
if ($course_num >= $start + $offset) {
// Interrupt and make a button that links to ?start=$start+$offset.
break;
}
// Here display stuff.
}