读数据库取排名加军衔 -问题-跪求解决办法
l_Score 是从数据库里读出来的分数,现在的问题是,不想用amxx自己代的排名而是按数据库里的分数给他配军衔,列排名.可以这样想,如果他的分数<0就是新兵,分数>= 10 就是 一等兵,并把军衔附值给变量 l_Place ,大家看看这里我的怎么写,再就是怎么样才能取得一个人在数据库里的排名?if l_Score ="" then l_Place = 新兵
if l_Score < 0 then l_Place = 新兵
if l_Score >= 0 then l_Place = 列兵
if l_Score >= 10 then l_Place = 一等兵
if l_Score >= 50 then l_Place = 下士
if l_Score >= 100 then l_Place = 中士
if l_Score >= 150 then l_Place = 上士
if l_Score >= 200 then l_Place = 参谋军士
if l_Score >= 250 then l_Place = 军士长
if l_Score >= 300 then l_Place = 少尉
if l_Score >= 350 then l_Place = 中尉
if l_Score >= 400 then l_Place = 上尉
if l_Score >= 450 then l_Place = 少校
if l_Score >= 500 then l_Place = 中校
if l_Score >= 550 then l_Place = 上校
if l_Score >= 600 then l_Place = 准将
if l_Score >= 650 then l_Place = 少将
if l_Score >= 700 then l_Place = 中将
if l_Score >= 750 then l_Place = 上将
if l_Score >= 800 then l_Place = 五星上将
if l_Score >= 1000 then l_Place = 大元帅
谁给我把这些ASP的原码转成amxx的原码,谢谢,
回复: 读数据库取排名加军衔 -问题-跪求解决办法
用MYSQL的触发器,学几天,自己就会了!回复: 读数据库取排名加军衔 -问题-跪求解决办法
QQ你来了啊.我就是用的你的那个BBS.我现在的问题就是怎么样才能取排名啊.?请您说一下好吗?
回复: 读数据库取排名加军衔 -问题-跪求解决办法
要说明整个过程不容易,总之,用触发器,工作是MYSQL的,AMXX只需要读取就可以了,并不需要在AMXX里面判断,看看MYSQL手册吧。给你简要说明一下:触发器就是当满足某个条件的时候,自动执行指定的MYSQL脚本!
应该是可行的,具体的我没有测试过!
回复: 读数据库取排名加军衔 -问题-跪求解决办法
select count(*) from tblauthor a,tblauthor b where a.score>b.score and b.Username='我的名字';可以成功的取得我的排名.可是在原码里我不会写啊,希望你还是给我写出来吧.先谢谢您了.QQ
回复: 读数据库取排名加军衔 -问题-跪求解决办法
与源码无关,写的是MYSQL触发器!比较深层次的问题了,我自己都没试过,也没时间,只能看看而已,你自己动动手吧!回复: 读数据库取排名加军衔 -已经解决
原码这样.g_dbc = dbi_connect(g_host,g_user,g_pass,g_dbname,g_error,MAX_NAME_LENGTH)
result = dbi_query(g_dbc,"select * from `%s` where score >= '%s'", g_sqlstats_table, g_score)
iRankPos = dbi_num_rows(result)
dbi_free_result(result)
dbi_close(g_dbc)
这也说明原来论坛中说MYSQL不能取排名是错误的.在这里再说一下.QQ你的原码里有些不足,
一些IF语句中你连接MYSQL数据库有些不对,就是,如果返回值是空.你就结束了语句,却没有及时断开数据库.这样就会造成数据库连接数过大而不能工作的现象,
回复: 读数据库取排名加军衔 -问题-跪求解决办法
dbi_close(g_dbc)不是断开mysql了吗?
页:
[1]