首先在用户表定义一个积分字段;
然后创建一个等级表,主要字段有等级名,上限积分和下限积分;
再根据用户的行为进行积分累加;
最后根据判断用户积分在哪个等级范围,从而得出用户等级。
用户表
代码语言:javascript复制CREATE TABLE `bbs`.`user`(
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT comment '用户id',
`avatar` VARCHAR(255) NOT NULL comment '头像',
`nickname` VARCHAR(60) NOT NULL comment '昵称',
`username` VARCHAR(16) NOT NULL comment '用户名',
`password` CHAR(32) NOT NULL comment '密码',
`points` INT(10) NOT NULL DEFAULT '0' comment '积分',
PRIMARY KEY(`id`)
) ENGINE = MYISAM;
等级表
代码语言:javascript复制CREATE TABLE `bbs`.`level`(
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT comment '等级id',
`name` VARCHAR(60) NOT NULL comment '等级名',
`max_points` INT(10) UNSIGNED NOT NULL comment '积分上限',
`min_points` INT(10) UNSIGNED NOT NULL comment '积分下限',
PRIMARY KEY(`id`)
) ENGINE = MYISAM;
ps:下面看下thinkphp删除图片的方法实现
使用场景:
新头像替换旧的头像
步骤:
1. 读取数据库头像的URL地址
2. 获取URL地址的有效字段
3. file文件路径设置
4. 删除图片文件
Thinkphp 代码如下:
代码语言:javascript复制<?php
public function delPic(){
//获取用户id
$uid = input('uid');
if(!$uid){
$this- error('uid未获取');
}
//获取url
$img = M('member')- where('uid',$uid);
$url = $img- avatar; //$url = 'http://www.test.com/up/avatar/59b25bcfcaac6.jpg'
if(!$url){
$this- error('获取头像失败');
}
//获取url有效字段(去掉网址)
$str = parse_url($url)['path'].parse_url($url)['query'];//$str = '/up/avatar/59b25bcfcaac6.jpg'
//file文件路径
$filename = '.'.$str;
//删除
if(file_exists($filename)){
unlink($filename);
$info = '原头像删除成功';
}else{
$info = '未找到原头像'.$filename;
}
echo $info;
}
总结
到此这篇关于PHP论坛实现积分系统的思路代码详解的文章就介绍到这了,更多相关php论坛积分系统内容请搜索ZaLou.Cn