将序列号添加到 while 循环内的重复值
Add sequential numbers to duplicate values inside while loop
我正在从名为 taskmanager 的 table 中提取 som 数据。其中一列包含 'assigned_user_id' 并且可以出现多次。
我想弄清楚,如何在 assigned_user_id 相同(重复)的地方添加序号。
但我真的不知道从哪里开始。
在我的 while 循环中,我有一个计算重复项的计数器,我尝试使用它,但无法让它工作。
而且我不知道这是否是正确的路径。
循环内的计数器:
$CountOccurence = $conn->prepare("SELECT COUNT(task_assigned_user) FROM taskmanager WHERE task_assigned_user = ?");
$CountOccurence->bind_param("i", $gettaskassigneduser);
$CountOccurence->execute();
$CountOccurence->bind_result($total);
while ($CountOccurence->fetch()) {
echo "(".$total.")";
}
$CountOccurence->close();
这给出:
Normal sequential counter Assigneduserid **sequential by assigned_user_id**
1 1 2 ($total)
2 2 2 ($total)
3 2 2 ($total)
4 4 1 ($total)
5 1 2 ($total)
我想要的是:
Normal sequential counter Assigneduserid **sequential by assigned_user_id**
1 1 1
2 2 1
3 2 2
4 4 1
5 1 2
有人可以帮助我或指出我可以看的方向。谢谢。
只需在循环数据时将用户 ID 添加到一个数组中,然后您就可以使用 array_count_values
轻松确定到目前为止每个 ID 出现了多少次。
在第一个循环迭代中,您将 AUid 1
添加到您的数组,然后 array_count_values
将 return 您的数组 [1 => 1]
。因此,您使用 AUid 1
作为访问值 1
的键,并将其输出到您的第 3 列。
在第二次循环迭代中,将 AUid 2
添加到数组中。那么array_count_values
就会return[1 => 1, 2 => 1]
。现在您使用 AUid 2
访问该值 1
,并将其输出到您的第 3 列。
在第三次循环迭代中,您将另一个 AUid 2
添加到数组中。那么array_count_values
就会return[1 => 1, 2 => 2]
。现在您使用 AUid 2
访问该值 2
,并将其输出到您的第 3 列。
等等...
我正在从名为 taskmanager 的 table 中提取 som 数据。其中一列包含 'assigned_user_id' 并且可以出现多次。
我想弄清楚,如何在 assigned_user_id 相同(重复)的地方添加序号。
但我真的不知道从哪里开始。
在我的 while 循环中,我有一个计算重复项的计数器,我尝试使用它,但无法让它工作。
而且我不知道这是否是正确的路径。
循环内的计数器:
$CountOccurence = $conn->prepare("SELECT COUNT(task_assigned_user) FROM taskmanager WHERE task_assigned_user = ?");
$CountOccurence->bind_param("i", $gettaskassigneduser);
$CountOccurence->execute();
$CountOccurence->bind_result($total);
while ($CountOccurence->fetch()) {
echo "(".$total.")";
}
$CountOccurence->close();
这给出:
Normal sequential counter Assigneduserid **sequential by assigned_user_id**
1 1 2 ($total)
2 2 2 ($total)
3 2 2 ($total)
4 4 1 ($total)
5 1 2 ($total)
我想要的是:
Normal sequential counter Assigneduserid **sequential by assigned_user_id**
1 1 1
2 2 1
3 2 2
4 4 1
5 1 2
有人可以帮助我或指出我可以看的方向。谢谢。
只需在循环数据时将用户 ID 添加到一个数组中,然后您就可以使用 array_count_values
轻松确定到目前为止每个 ID 出现了多少次。
在第一个循环迭代中,您将 AUid 1
添加到您的数组,然后 array_count_values
将 return 您的数组 [1 => 1]
。因此,您使用 AUid 1
作为访问值 1
的键,并将其输出到您的第 3 列。
在第二次循环迭代中,将 AUid 2
添加到数组中。那么array_count_values
就会return[1 => 1, 2 => 1]
。现在您使用 AUid 2
访问该值 1
,并将其输出到您的第 3 列。
在第三次循环迭代中,您将另一个 AUid 2
添加到数组中。那么array_count_values
就会return[1 => 1, 2 => 2]
。现在您使用 AUid 2
访问该值 2
,并将其输出到您的第 3 列。
等等...