在php中,我需要while 1完成才能运行while 2。而1根据表1创建一个数组。而2根据While 1中不在数组中的内容从表2中删除数据。
我的问题是,在while 1中创建数组之前,2正在运行。我可以通过使用时间延迟来做到这一点,但这并不能保证数组是完整的,而且它还需要其他不必要的延迟。
我认为我需要在javascript中做一些类似间隔的事情,我认为我可以做到。然而,为了让它工作,我需要一些标志来表明1是完整的。基本上,我的问题似乎是我需要这个标志,但我不知道如何做一个只有当1完成时才为真的标志。
下面是我正在编写的代码:
$data01 = mysql_query("SELECT * FROM crxcrops“)或die(mysql_error());
while($r01 = mysql_fetch_array($data01)) {
$cropsarray[] = $r01['cropsid_crp'];}
//需要在这里暂停,在$cropsarray完成之前不能继续。这种停顿似乎不会发生。这样做的目的是从crxplug(下图)中删除在crxcrops (上)中找不到cropsid的行。我没有得到一致的结果,这让我相信这里没有停顿。但是,也许我有一些错误??也许我仍然在SELECT中时不能运行删除??
$data00 = mysql_query("SELECT * FROM crxplugs“)或die(mysql_error());
while($r00 = mysql_fetch_array($data00)) {
$key = array_search($r00['cropsidplg'], $cropsarray);
if($key==false){
mysql_query("DELETE FROM crxplugs WHERE cropsidplg=$ r00['cropsidplg']") or die(mysql_error());
}}
发布于 2015-03-01 01:05:07
我认为你所需要的只是使用一个标志,但是尝试提供一些代码,很难写出我们不确定的东西。
$flag=false;
//first while
while (1==1){
//do first job
/*
if (first job has finished)
$flag=true;
*/
//second while
if(flag){
while(/*second while statement*/){
//do second job
}
break;
}
}https://stackoverflow.com/questions/28783980
复制相似问题