用户登陆 账号密码验证后 存入session 同时查询用户的信息 显示积分等
用户输入兑换的数量(PS建议这里不要用GET 因为可以从网页修改 不科学) 然后根据积分告知其是否可以兑换
如果可以兑换 访问数据库 更新用户的积分 获取对应数量的兑换卡号密码 讲该卡密状态设置为已经发放(PS:卡密状态起码3个 比如0未发放 1已发放 2已使用)
将卡密发送给用户
select id,integral,addtime from cos_member_vip order by integral desc,addtime asc--如果需要生成以积分为最高优先,其次以时间为从高到低为条件生成个排名字段,可用
--ROW_NUMBER() OVER ()函数
1,安装一个数据库系统,建议mysql,简单,免费2,在mysql中创建一个数据库
create database tanchishe
3,创建数据表
use tanchishe
create table record(
id int primary key auto_increment,
username char(20),
count int
)
4,程序中链接数据库,以java语言为例:
导入数据库链接jar包,如mysql-connector-java-5.1.6-bin.jar
加载驱动类:
Class.forName("com.jdbc.mysql.Driver")
获取链接:
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/tanchishe","数据库帐号","数据库密码")
书写sql语句:
String sql="insert into record(username,count) values(?,?)"
获取处理sql语句的对象:
PreparedStatement pstm=conn.preparedStatement(sql)
设置要插入的数据:
pstm.setString(1,玩家名称)
pstm.setInt(2,此次得分)
执行sql语句:
pstm.executeUpdata()
查询数据得到排行榜:
String sql2="select * from record order by count desc"
pstm=conn.preparedStatement(sql2)
执行查询,得到结果集:
ResultSet rs=pstm.executeQuery()
遍历rs,得到集合:
List<Record>records=new ArrayList<Record>()
while(rs.next()){
Record r=new Record()
r.setId(rs.getInt("id"))
r.setUserName(rs.getString("username"))
r.setCount(rs.getInt("count"))
records.add(r)
}
得到集合records
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)