Php 检查两行是否直接相邻

Php 检查两行是否直接相邻,php,mysql,Php,Mysql,我有一个MySQL查询,如下所示: $sql = "SELECT team, sum(points) as allpoints FROM table WHERE [...] GROUP BY team ORDER BY allpoints"; 将其插入phpMyAdmin中,我得到了预期的结果。(我看到allpoints中既没有重复的内容,团队中也没有重复的内容!) 现在我想知道,两个名字的行是否是直接相邻的行。 因此,我这样做: $result=mysqli_query($con, $sql

我有一个MySQL查询,如下所示:

$sql = "SELECT team, sum(points) as allpoints FROM table WHERE [...] GROUP BY team ORDER BY allpoints";
将其插入phpMyAdmin中,我得到了预期的结果。(我看到allpoints中既没有重复的内容,团队中也没有重复的内容!) 现在我想知道,两个名字的行是否是直接相邻的行。 因此,我这样做:

$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;
}
$result=mysqli\u查询($con,$sql);
$doCount=false;
$counter=0;
while($row=mysqli\u fetch\u数组($result)){
如果(strcmp($team1,$row['team'])==0或strcmp($team2,$row['team'])==0){
$doCount=switchBool($doCount);
}
如果($doCount){
$counter++;
}
}
如果($counter<2){
返回true;
}否则{
返回false;
}   
函数开关bool($thebool){
如果($thebool){
返回false;
}否则{
返回true;
}

描述:当我抓到两个团队中的一个时,
$doCount
切换到
true
,我的
$counter
增加到值1。当我抓到第二个团队时,
$doCount
切换回
false
$counter
停止增加。因此,如果一个团队直接出现在我的wh中的另一个团队之后在ile循环中,
$counter
应该只为
1
,并且它应该返回
true
。但是它总是返回true,即使我确信它不应该返回true。我的错误是什么?

请注意,您可以使用
$doCount=!$doCount;
而不是
switchBool($doCount)
您不是每次当行中有
$team1
$team2
时都切换布尔值吗?谢谢,我不知道是的。结果是没有重复的团队名称
$counter<2
应该是
$counter==1
。您计算找到的第一个团队,如果下一个团队找到,则在计算之前关闭计数器它。