如何在php中用两个条件递增计数


How to increment count in php with two conditions?

我想用一个给定的值以降序递增$count。如果给定的值具有相同的数字,$count将停止递增,如果下一个值不同,则开始递增。也许我在这里解释不清楚。看看我的代码,你就会看到并理解我正在努力实现的目标。

<?php
$count=1;
if(current $row['perc']==next $row['perc'])//
{
echo "";//stop incrementing and output the same count. Because current perc and next perc have the same value, I don't know how to make echo here.
}
else
{
echo $count++; //start incrementing
}
?>

我想取得这样的成绩

id position

`101    1`
`102    2`
`103    2'

我正试图根据从数据库中提取的值来计算位置。如果两个值具有相同的perc,则它们将具有相同的位置。

如果我理解正确,你可以在MySql中用这样的查询来完成

SELECT id, position
  FROM
(
  SELECT id, IF(@p = perc, @n , @n := @n + 1) position, @p := perc
    FROM Table1 t, (SELECT @n := 0, @p := 0) n
   ORDER BY perc DESC
) q

这是SQLFiddle演示