扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
如果只是网页上显示,不需要存储人数据库
成都创新互联专业为企业提供玉州网站建设、玉州做网站、玉州网站设计、玉州网站制作等企业网站建设、网页设计与制作、玉州企业网站模板建站服务,十年玉州做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
则设置初始值$count 还有初始日期$date,
假设$count=10,$date='2015-07-18';
然后进行操作,方法和上面大同小异
$now = strtotime(date('Y-m-d', time()));
if($now strtotime($date))
{
$add = intval(($now-strtotime($date))/(24*3600));
$count += 10*$add;
}
可以将其封装成函数
function count($count,$date){
$now = strtotime(date('Y-m-d', time()));
if($now strtotime($date))
{
$add = intval(($now-strtotime($date))/(24*3600));
$count += 10*$add;
}
return $count;
}
如果要加随机数那么就需要加上random函数,而且需要存储用来判定的$date,可以用cookies存储也可以用session存储
变量的话 在页面执行完 内存就释放了 所以肯定不能让他每天自动加1
所以只有以下几种方法 1 存在数据库里(不错的方法) 2 存在文件里(很安全,而且只有一个文件的情况下IO没什么压力) 3 存在缓存里(缓存不是很可靠,就算你设置成永远不过期也有可能丢失)
确定存储方法后 需要计划任务来执行(计划任务就是规定每天什么时候,或者每隔多长时间,执行一个脚本,如:一个PHP文件)
WINDOWS:写好要执行的脚本 创建windows计划任务,定时执行命令 (PHP目录)x:\xxx\php\php.exe -f x:\aaa\bbb\script.php(执行脚本的目录)
LINUX:我没写过 和WINDOWS差不多 用crontab命令来执行
script.php里就写你变量加1这个操作,如数据库的字段加1 或者文件里的数字加1
$User-where('id=5')-setInc('score',3); // 用户的积分加3
$User-where('id=5')-setInc('score'); // 用户的积分加1
$User-where('id=5')-setDec('score',5); // 用户的积分减5
$User-where('id=5')-setDec('score'); // 用户的积分减1
2种办法
1.修改你的数据库表,将ID设为自增长,注:只有主键才可以设置为自增长
id自增是由mysql负责的,设置id AUTO_INCREMENT 插入时不用插入id值就能实现自增CREATE TABLE `table ` (`id` INT(8) NOT NULL AUTO_INCREMENT, PRIMARY KEY(`id`));
2.代码中进行处理
Statement ps;
ResultSet rs;
int id = 0;
..................
String sql="select max(id) as id from message";
rs = ps.executeQuery(sql);//查询出最大ID
if(rs.next){//如果有ID,原有ID+1
id = rs.getInt("id")+1;
}else{//否则 ID 初始为0
id = 0;
}
//下面接你写的代码就OK了
PreparedStatement ps;
String sql="insert message (id,name,msg) value(?,?,?)"
ps.setString(1,id);
ps.setString(2,name);
ps.setString(3,msg);
朋友可能你要的是 PHPExcel的自增吧?
可以选择在循环外赋初值,然后在循环内进行自增,并且可循环标题与数据
标题为:
$i = 'A';
foreach ($col_name as $val) {
$col_title = $i . '1'; //每次给这个值进行更改 即 第一次A1,第二次B1,第三次C1
//执行相应操作
$i++;
}
上面是标题头的循环,内容部分的循环一样类似的语句就可以了
怎么在thinkphp添加数据时获取自动增长的id?
下面是TP5的方法,TP3的在添加后变量直接就获取了。添加数据后如果需要返回新增数据的自增主键,可以使用 getLastInsID 方法:
Db::name('user')-insert($data);
$userId = Db::name('user')-getLastInsID();或者直接使用 insertGetId 方法新增数据并返回主键值:
Db::name('user')-insertGetId($data);
ThinkPHP
ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP 开发框架,遵循 Apache2 开源协议发布,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。
基本特性
简单易用的MVC模式
模型(M):模型的定义由Model类来完成。Model类位于项目目录下面的LibModel目录。
控制器(C):应用控制器(核心控制器)和Action控制器都承担了控制器的角色,区别在于Action控制器完成业务过程,而应用控制器(App类)负责调度控制。Action控制器位于项目目录下面的LibAction目录。
视图(V):模板的实现是和框架无关的,做到了100%分离,可以独立预览和制作。模板目录位于项目目录下面的Tpl目录。
2.独创的核心编译和二分法项目编译机制
ThinkTemplate是一个使用了XML标签库技术的编译型模板引擎,支持两种类型的模板标签,使用了动态编译和缓存技术,而且支持自定义标签库。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流