Maison >développement back-end >tutoriel php >如何用积分快速确定用户所在的等级

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

WBOY
WBOYoriginal
2016-06-06 20:33:501287parcourir

<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可能导致你的索引失效。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn