我怎样才能直接在 mysql 问题中或在 php 中使输出看起来像这样?标记 Angelas tips_number 3 在表中丢失,我想在输出中将其重新编号为 1-3。此外,只有具有多个 tips_number 的 ID 才应在其名称后加上数字。George DantonHerbert G Wells (1)Herbert G Wells (2)Angela (1)Angela (2)Angela (3)+--------+------------------+--------------+| id | name | tips_number |+--------+------------------+--------------+| 1 | Georges Danton | 1 || 2 | Herbert G Wells | 1 || 2 | Herbert G Wells | 2 || 3 | Angela | 1 || 3 | Angela | 2 || 3 | Angela | 4 |+--------+------------------+--------------+我得到的最接近的是这个foreach($id as $row) { if($row['tips_number'] > 1){ $tip_number = $row['tips_number']; $name = $row['name']; $result = "{$name} ($tip_number)"; } else $result = $row["name"]; echo "$result <br>"; }哪个得到输出George DantonHerbert G Wells Herbert G Wells (2)Angela Angela (2)Angela (4)
1 回答
MM们
TA贡献1886条经验 获得超2个赞
在进行输出之前,您需要知道有多个条目,以确保它们都得到正确的显示。
这用于array_count_values()计算每个名称的条目数。然后它遍历这些名字——用另一个循环输出这个名字出现的次数。
$tips = array_count_values(array_column($id, "name"));
foreach ( $tips as $name => $tipCount ) {
for ( $i = 1; $i <= $tipCount; $i++ ) {
echo $name;
if ( $tipCount > 1 ) {
echo "($i)";
}
echo "<br>";
}
}
这会将每个人的所有输出捆绑在一起,因此如果元素通过输入传播,那么您将需要一种稍微不同的方法。
- 1 回答
- 0 关注
- 101 浏览
添加回答
举报
0/150
提交
取消