Heim >Backend-Entwicklung >PHP-Tutorial >如何用积分快速确定用户所在的等级

如何用积分快速确定用户所在的等级

WBOY
WBOYOriginal
2016-06-06 20:33:501287Durchsuche

<code>用户表:用户序号、用户等级、用户积分

等级表:等级序号、等级名称、积分下限、积分上线
1、v1、0、60
2、v2、61、180
3、v3、181、270
4、v4、271、1000
</code>

已知积分,如果等级与积分有一定规律,就可以根据算法快速确定用户所在等级;
那么没有规律,那么怎么快速确定等级呢?

回复内容:

<code>用户表:用户序号、用户等级、用户积分

等级表:等级序号、等级名称、积分下限、积分上线
1、v1、0、60
2、v2、61、180
3、v3、181、270
4、v4、271、1000
</code>

已知积分,如果等级与积分有一定规律,就可以根据算法快速确定用户所在等级;
那么没有规律,那么怎么快速确定等级呢?

SQL:

<code>select * from grade where low = 222;
</code>

这不就是有序表插入嘛。最简单的做法是二分查找就行了。

如果储存在了数据库的话就直接用sql就可以解决啦,不然的话就想楼上说的用二分呗,找到所有等级的中间等级的积分上限,如果用户积分大于这个上线的话就递归查找比这个等级大的等级,否则就递归查找比这个中间等级小的等级。。。

建议直接在数据库维护储存用户登记信息,不然使用简单的范围查询SQL可能导致你的索引失效。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn