当没有找到行时如何修复我的代码以重置行

时间:2018-12-26 18:21:24

标签: php mysqli

我一次抓取随机行,一次使用100行,我用1标记了“已使用”列。当没有更多标记为0的列时,我需要用1重置所有行。这是我的代码...

 $result = mysqli_query($res, "SELECT id, unit_id, shown FROM units WHERE suspended = '0' AND used = '0' ORDER BY RAND() LIMIT 100"); 
 while($myrow = mysqli_fetch_array($result)){
if (!$result){
   $result2 = mysqli_query($res, "UPDATE units SET used='0' WHERE used = 
 '1'");
}
else{
 other code here
}
 }
 $res->close();

我也尝试过这个:

 if ($myrow[id] == ''){

但这也不起作用。我只需要知道何时将所有这些标记为已使用,即可将“已用”重置为0,以便重新开始。

我也尝试过将if语句移到while之外,但它仍然无法正常工作。

应该注意,这是在cron上运行的。

1 个答案:

答案 0 :(得分:0)

在while内外设置$i = 0;并在其内部添加1.在while循环之后,检查 $ i 是否小于100,然后确定是否达到了列表,但是如果 $ i 等于100,则需要使用dB查询,因为最后100条记录可能会产生结果,并且该结果将再次出现在列表的末尾