【发布时间】:2012-05-28 20:33:53
【问题描述】:
快速提问;
$sql = mysql_query("SELECT * FROM cronjobs WHERE status = 0 ");
while($cronjob = mysql_fetch_array($sql)){
if($cronjob['suid'] != $cronjob['cuid']){
//echo 'not equal<br>';
$set = 0;
$sid = $cronjob['sid'];
$suid = $cronjob['suid'];
$cuid = $cronjob['cuid'];
$set = notify($sid, $suid, $cuid);
if($set==1){
//echo 'notified<br>';
$sql = "UPDATE cronjobs SET status = '1' WHERE id='".$cronjob['id']."'";
if(mysql_query($sql)){
echo '1<br>';
$set = 0;
}
}
}
}
}
notify() 将 return 1(数字)
问题是即使有更多记录,while 循环也只执行了一次迭代。我不知道这里有什么问题。请帮帮我。
【问题讨论】:
-
你的 if 条件在 while 循环中是否对多条记录为真?
-
@heyanshukla 可能是。但大多数记录不会。这只是在处理一条记录后停止。
-
然后首先在while循环中从if条件中回显一些东西。并检查迭代次数。
标签: php loops while-loop iteration