注册 登录
编程论坛 ASP技术论坛

谁会写这个统计程序呀

qingya615 发布于 2008-04-07 14:23, 653 次点击
我想完成这样一个功能:A推荐了B、C、D三人,C推荐了E、F、G、H四人,D推荐了J、K、L,这时B、E、F、G、H、J、K、L的积分都是0,而C、D的积分是1,A的积分是2,A推荐的人数为10,C推荐的人数为4,D推荐的人数为3,积分为0的人推荐了人的话,他的推荐人的积分和推荐人数也会随之增加。请高手请点,急!!!万分感谢!!
2 回复
#2
yjwzh2008-04-08 14:32
你想做传销吗?
#3
hmhz2008-04-08 18:44
这是网站传销积分法,给网站拉人气的方式
这样的统计方法一般有分的,直接推荐的人数和间接推荐人数,树的方式来积攒
比如
A 推荐了 B,得5分
B 再推荐 C,A得4分 B得5分
C 再推荐 D,A得3分 B得4分,C得5分
这样三级下来,每级A得的分数逐渐减少,A一共得了 5+4+3=12分

程序可以使用数组,每级都将上一级的数组带下来
比如
A注册 将A的名字保存到A下的字段AA里 存储内容 A
A推荐了B,B注册时将A的名字保存到B下的字段AA里 存储内容 A|B
B推荐了C,C注册时将B的名字保存到C下的字段AA里 存储内容 A|B|C
C推荐了D,D注册时将C的名字保存到D下的字段AA里 存储内容 A|B|C|D

A注册时先将名字存储进AA表,再将AA表A名字读出并判断内容中是否有“|”符号,如果不存在 就直接提取A名查询A用户并给A用户+5分
如果存在“|”符号,使用数组循环提出用户名
<%
AA="A|B|C|D"
if instr(AA,"|")=0 then
conn.execute "update Uname set fen=5 where AA='"&AA&"'"
else
BB=split(AA,"|")
CC=ubound(BB)
for i=0 to CC
conn.execute "update Uname set fen=5-("&CC&"-"&i&") where AA='"&BB(i)&"'"
next
end if
%>

[[it] 本帖最后由 hmhz 于 2008-4-8 18:50 编辑 [/it]]
1