我有一个像这样的MySQL查询:
$sql = "SELECT team, sum(points) as allpoints FROM table WHERE [...] GROUP BY team ORDER BY allpoints";
在phpMyAdmin中删除它,我得到了预期的结果。 (我看到在所有点都没有重复,也没有在团队中重复!) 现在我想知道,如果两个名称的行是直接邻居行。 因此我这样做了:
$result=mysqli_query($con, $sql);
$doCount=false;
$counter=0;
while($row = mysqli_fetch_array($result)) {
if(strcmp($team1, $row['team'])==0 OR strcmp($team2, $row['team'])==0){
$doCount=switchBool($doCount);
}
if($doCount){
$counter++;
}
}
if($counter < 2){
return true;
}else{
return false;
}
function switchBool($thebool){
if($thebool){
return false;
}else{
return true;
}
描述:一旦我抓住两个团队中的一个,$doCount
切换到true
,我的$counter
增加到值1.当我赶上第二个团队时,{{1 }}切换回$doCount
和false
停止增加。因此,如果一个团队直接出现在我的while循环中的其他团队之后,则$counter
应该只有$counter
并且应该返回1
。但它总是返回true,即使我确定它不应该。我的错是什么?