我抓取随机行,每次100行,一旦使用,我就用1标记列' used‘,当它没有标记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语句移到时间之外,但它仍然不起作用。
应该指出,这是在一个cron上运行的。
发布于 2018-12-26 18:43:33
将$i = 0;设置在时间之外,并在其内部添加1。在while循环之后,检查$i是否小于100,如果它确实达到了列表的末尾,但是如果$i等于100,则需要检查dB查询,因为您有可能得到最后100条记录的结果,而且也是列表的末尾。
https://stackoverflow.com/questions/53935641
复制相似问题