Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查行是否分组在while循环中_Php_Mysql_Group By - Fatal编程技术网

Php 检查行是否分组在while循环中

Php 检查行是否分组在while循环中,php,mysql,group-by,Php,Mysql,Group By,我想这是一个简单的问题,如何检查行是否分组在while循环中。我希望能够确定它是否已分组,以便在分组时可以更改回显的文本,但不分组的行保持相同。我希望这是有道理的,因为我不知道如何解释它 这是我的密码 if($r['type'] == "Wall"){ $offern = $r['aff']; }else{ $offern = $offn['name']; } // IF GROUPED $r['user_id'] <- It is grouped by `user_id` ->

我想这是一个简单的问题,如何检查行是否分组在while循环中。我希望能够确定它是否已分组,以便在分组时可以更改回显的文本,但不分组的行保持相同。我希望这是有道理的,因为我不知道如何解释它

这是我的密码

if($r['type'] == "Wall"){
$offern = $r['aff'];
}else{
$offern = $offn['name'];
}
//  IF GROUPED $r['user_id'] <- It is grouped by `user_id` -> $offern = "Several";

print "<tr>
<td></td>
                <td><a href='lockedf.php?id=".$r['user_id']."'>{$namess['username']}</a></td>
                <td>".$offern."</td>
                <td>{$r['point']} Points</td>
                <td>".date("m/d/Y h:i:s A", $r['date_submitted'])."</td>
                <td><a href='unlock.php?id={$r['id']}' class='ask'><img src='images/unlock.png' alt='' title='' border='0' /></a></td>
                <td><a href='deny.php?id={$r['id']}' class='ask'><img src='images/trash.png' alt='' title='' border='0' /></a></td>
                </tr>";
if($r['type']=“墙”){
$offern=$r['aff'];
}否则{
$offern=$offn['name'];
}
//如果分组为$r['user_id']$offern=“几个”;
“打印”
“$OFFEN。”
{$r['point']}点
.date(“m/d/Y h:i:SA,$r['date_submitted'])
";

因此,如果您有这样的数据:

`USER_ID`  |  `FavoriteCandy`

1        |   'Snickers'
1        |   'Butterfinger'
2        |   'Hershey'
3        |   'Twix'
SELECT USER_ID
FROM tbl
GROUP BY USER_ID;
SELECT `USER_ID`
FROM tbl
GROUP BY USER_ID
HAVING COUNT(`FavoriteCandy`) > 1;
还有这样一个查询:

`USER_ID`  |  `FavoriteCandy`

1        |   'Snickers'
1        |   'Butterfinger'
2        |   'Hershey'
3        |   'Twix'
SELECT USER_ID
FROM tbl
GROUP BY USER_ID;
SELECT `USER_ID`
FROM tbl
GROUP BY USER_ID
HAVING COUNT(`FavoriteCandy`) > 1;
您的目标是找出哪个用户(本例中的用户1)可能缺少candy,因为它被分组在…您可以这样做:

SELECT `USER_ID`, COUNT(`FavoriteCandy`)
FROM tbl
GROUP BY USER_ID;
或者,仅限于按以下方式分组的用户:

`USER_ID`  |  `FavoriteCandy`

1        |   'Snickers'
1        |   'Butterfinger'
2        |   'Hershey'
3        |   'Twix'
SELECT USER_ID
FROM tbl
GROUP BY USER_ID;
SELECT `USER_ID`
FROM tbl
GROUP BY USER_ID
HAVING COUNT(`FavoriteCandy`) > 1;

您可以向查询中添加
计数(用户ID以外的某些列)
。计数将告诉您分组了多少条记录。如果COUNT()列大于1,则执行所需操作。@BlaiseSwawick是否转到主查询?或者创建一个新的。O@BlaiseSwanwick忘了上次的评论吧,我明白你的意思了,你能把它作为一个答案贴出来让我接受吗