$nr=$db->getall($name);
for($i=0;$i<ceil($n/$m);$i++){
$t=$i%$m;
$p=$i*6;
$s=$n>5?6:$n; //每次取6行
$name="SELECT * FROM `address` WHERE `timees`='0' AND `data`=1 LIMIT $p,$s";
$nr=$db->getall($name);
..........................................此处为操作发送邮件成功略................................
if($mail->Send()){
$mail->ClearAddresses();
$sql="UPDATE `address` SET `timees`=1 WHERE `id`='{$pid}'";
$sql=mysql_query($sql);}
这样过后在数据库看见的是id=1的没有更新,id=2到id=5的更新了,然后就是每隔6个id的更新了。 为什么并没有按顺序更新
for($i=0;$i<ceil($n/$m);$i++){
$t=$i%$m;
$p=$i*6;
$s=$n>5?6:$n; //每次取6行
$name="SELECT * FROM `address` WHERE `timees`='0' AND `data`=1 LIMIT $p,$s";
$nr=$db->getall($name);
..........................................此处为操作发送邮件成功略................................
if($mail->Send()){
$mail->ClearAddresses();
$sql="UPDATE `address` SET `timees`=1 WHERE `id`='{$pid}'";
$sql=mysql_query($sql);}
这样过后在数据库看见的是id=1的没有更新,id=2到id=5的更新了,然后就是每隔6个id的更新了。 为什么并没有按顺序更新
你要在for里,加个条件,或,先把执行后的sql语句,打印出来看看
这样,可以有针对性。
然后是 limit 5,5 这样选择 6,7,8,9,10