php mysql连续签到跨月_PHP连续签到功能实现方法详解
本文实例讲述了PHP连续签到功能实现方法。分享给大家供大家参考,具体如下:
require "./global.php";
$act = isset($_GET['act']) ? $_GET['act'] : "error";
// d($act);
switch($act){
case "qiandao":
$uid = intval($_POST['uid']);
$res = $db -> get('qian_dao','*',array('uid'=>$uid));
// last_query();
$time = time();
//判断今天是否签到
$todayBegin=strtotime(date('Y-m-d')." 00:00:00");
$todayEnd= strtotime(date('Y-m-d')." 23:59:59");
$isexit = $db -> get('qian_dao','id',array('AND'=>array('uid'=>$uid,'qian_dao_time[>=]'=>$todayBegin,'qian_dao_time[<=]'=>$todayEnd)));
// last_query();
if($isexit){
// echo "今天已签到!";
Log::writeLog(print_r(array('state'=>'stop','msg'=>'今天已签到!'),true));
echo json_encode(array('state'=>'stop','msg'=>'今天已签到!'));
exit;
}
if($res){
//存在签到
if((time() - $res['qian_dao_time'] > 24*60*60)){ // 判断时间是否大于24小时
// 让字段归0
$addInfo = $db -> update('qian_dao',array('qian_dao_num'=>1,'qian_dao_time'=>$time),array('uid'=>$uid));
}else{
// 更新签到的天数
$addInfo = $db -> update('qian_dao',array('qian_dao_num[+]'=>1,'qian_dao_time'=>$time),array('uid'=>$uid));
}
}else{
// echo '您还没有签到过';
//没有签到过
$db -> insert('qian_dao',array('uid'=>$uid,'qian_dao_num'=>1,'qian_dao_time'=>$time));
// echo $db ->last_query();
}
// 插入签到记录
$db -> insert('sign',array(
'uid'=>$uid,
'dateline'=>$time,
));
// 获取连续签到的天数
$info = $db -> get('qian_dao','qian_dao_num',array('uid'=>$uid));
echo json_encode(array('state'=>'success','msg'=>"您是第".$info."天签到"));
break;
default :
echo json_encode(array("ret"=>0,"msg"=>"操作不存在!"));
break;
}
sql:
CREATE TABLE IF NOT EXISTS `qian_dao` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(1) NOT NULL COMMENT '用户id',
`qian_dao_num` int(11) NOT NULL COMMENT '签到次数',
`qian_dao_time` int(11) NOT NULL COMMENT '签到时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `sign` (
`uid` int(11) NOT NULL,
`dateline` varchar(10) COLLATE utf8_bin NOT NULL,
KEY `uid` (`uid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
html:
include './global.php';
$uid = 1;
$todayBegin=strtotime(date('Y-m-d')." 00:00:00");
$todayEnd= strtotime(date('Y-m-d')." 23:59:59");
$isexit = $db -> get('qian_dao','id',array('AND'=>array('uid'=>$uid,'qian_dao_time[>=]'=>$todayBegin,'qian_dao_time[<=]'=>$todayEnd)));
$flag = '';
if($isexit){
$flag = 'current';
}
?>
jquery制作每天或每日打卡签到特效
*{margin:0;padding:0;list-style-type:none;}
a,img{border:0;text-decoration:none;}
/*今日签到*/
.singer{border:1px solid #DCDBDB;padding:10px;height:45px;line-height:45px;width:290px;margin:20px auto;}
.ul{border:1px solid #DCDBDB;padding:0 10px 10px 10px;;width:290px;margin:20px auto;}
.li{border:1px solid #DCDBDB;padding-left:10px;height:25px;line-height:25px;width:280px;margin:10px 0 0 0;}
.singer_l_cont, .singer_r_img{float:left;}
.singer_l_cont{width:145px;background:url(images/sing_per.gif) no-repeat left 12px;text-indent:23px;font-size:12px;}
.singer_r_img{display:block;width:114px;height:52px;background:url(images/sing_week.gif) right 2px no-repeat;vertical-align:middle;float:right;*margin-bottom:-10px;}
.singer_r_img:hover{background-position:right -53px;text-decoration:none;}
.singer_r_img span{margin-left:14px;font-size:16px;font-family:'Hiragino Sans GB','Microsoft YaHei',sans-serif !important;font-weight:700;color:#165379;}
.singer_r_img.current{background:url(images/sing_sing.gif) no-repeat 0 2px;}
每天签到赢取PK币
/*签到模块日期捕捉:*/
function week(){
var objDate= new Date();
var week = objDate.getDay();
switch(week)
{
case 0:
week="周日";
break;
case 1:
week="周一";
break;
case 2:
week="周二";
break;
case 3:
week="周三";
break;
case 4:
week="周四";
break;
case 5:
week="周五";
break;
case 6:
week="周六";
break;
}
$("#sing_for_number").html( week );
}
$(document).ready(function(){
week();
var cache=new Array(); // 缓存变量,当数据被访问过之后放置在缓存中,加快访问速度
$(".singer_r_img").click(function(){
// 如果缓存中存在数据,那么直接从缓存中读取;如果不存在数据,那么就从数据库中读取,并把数据存入缓存
if (typeof(cache['stop'])=='undefined') {
$.ajax({
url:"action.php?act=qiandao",
type:"post",
dataType:'json',
data:{
uid:1,
},
async:false,
success:function(data){
// alert(data.msg);
switch(data.state){
case 'success':
alert(data.msg);
break
case 'stop':
cache['stop'] = data.msg;
alert(data.msg);
break;
}
$(".singer_r_img").addClass("current");
}
})
}else{
alert(cache['stop'])
}
})
})
// 获取签到记录
$sign = $db -> select('sign','*',array('uid'=>$uid,'ORDER'=>'dateline DESC'));
?>
if(empty($sign)){
?>
暂无签到信息
}else{
foreach($sign as $k=>$v){
?>
<?php echo ($k + 1);?> <?php echo date('Y-m-d H:i:s',$v['dateline']);?>
}
}
?>
希望本文所述对大家PHP程序设计有所帮助。
php mysql连续签到跨月_PHP连续签到功能实现方法详解相关推荐
- mysql order by 语句_Mysql优化order by语句的方法详解
本篇文章我们将了解ORDER BY语句的优化,在此之前,你需要对索引有基本的了解,不了解的老少爷们可以先看一下我之前写过的索引相关文章.现在让我们开始吧. MySQL中的两种排序方式 1.通过有序索引 ...
- mysql 批量导入sql_MySQL高效导入多个.sql文件方法详解
MySQL有多种方法导入多个.sql文件(里面是sql语句),常用的有两个命令:mysql和source. 但是这两个命令的导入效率差别很大,具体请看最后的比较. (还有sqlimport和LOAD ...
- mongodb mysql 事务_MongoDB数据库两阶段提交实现事务的方法详解 _ 蚂蚁视界
本文实例讲述了MongoDB数据库两阶段提交实现事务的办法.分享给年夜家供年夜家参考,详细如下: MongoDB数据库中操作单个文档老是原子性的,然而,涉及多个文档的操作,通常被作为一个"事 ...
- mysql 存储引擎作用_MySQL常用存储引擎功能与用法详解
MySQL存储引擎主要有两大类: 1. 事务安全表:InnoDB.BDB. 2. 非事务安全表:MyISAM.MEMORY.MERGE.EXAMPLE.NDB Cluster.ARCHIVE.CSV. ...
- mysql日期比较大小 方式_mysql中日期比较大小方法详解
在mysql中日期比较有许多的函数,下面我来给大家总结一下常用的mysql中日期比较大小有需要了解的朋友可进入参考参考,假如有个表product有个字段add_time,它的数据类型为datetime ...
- mysql ibd文件还原_MySQL单表ibd文件恢复方法详解
前言: 随着innodb的普及,innobackup也成为了主流备份方式.物理备份对于新建slave,全库恢复的需求都能从容应对. 但当面临单表数据误删,或者单表误drop的情况,如果使用物理全备进行 ...
- php 运行外部程序_PHP实现执行外部程序的方法详解
这篇文章主要介绍了PHP实现执行外部程序的方法,结合实例形式分析了php执行外部程序的常用函数相关使用技巧与注意事项,需要的朋友可以参考下 本文实例讲述了PHP实现执行外部程序的方法.分享给大家供大家 ...
- 关于MySQL的存储函数(自定义函数)的定义和使用方法详解
存储函数 什么是存储函数: 封装一段sql代码,完成一种特定的功能,返回结果. 存储函数的语法: create function 函数([函数参数[,-.]]) Returns 返回类型 Begin ...
- phpyun怎么采集_php采集神器cURL使用方法详解
对于做过数据采集的人来说,cURL一定不会陌生.虽然在PHP中有file_get_contents函数可以获取远程链接的数据,但是它的可控制性太差了,对于各种复杂情况的采集情景,file_get_co ...
最新文章
- 最大似然估计MLE和最大后验估计MAP理解
- jQuery 的常用选择器,筛选器
- signature=ec663bb1ca3cfa2e278da44aa044d1c6,Fair Exchange of Signatures with Multiple Signers
- 禁售苹果手机_苹果、华为供应商工厂突发火灾!浓烟冲天
- jquery 特效专辑
- Swing basic
- TypeError: 'float' object is not iterable
- DPM 检测源码分析
- Android PDF 的 读取 与 生成
- Android 7.0以上安装fiddler CA证书失败解决方法
- 顶级公司程序员,一天只写100行代码?
- 使用mJS进行物联网嵌入式脚本和开发的新方法
- ForkJoinPool 详解
- iphone计算机怎样打开声音,8个iOS必知小技巧!iPhone的声音还可以调更大哦!
- echarts 圆角环形图
- win32 透明窗口无边框模版
- Carrey的第一篇博客
- “首席用户官”到底应该是CUO(Chief User Officer)还是CCO(Chief Customer Officer)
- easyexcel 列宽、行高、样式
- 【批处理】一键重构Windows图标缓存------解决win10部分图标加载问题
热门文章
- 计算机网络动画是什么软件,把动漫人头p人身上的软件叫什么 软件介绍
- 基本符号有_【国际数学】数学基本符号介绍
- cent 8.0 安装tomcat 9.0_Tomcat部署及优化
- Eclipse 里一个 SAP Hybris Commerce 的开发插件
- SAP Commerce Cloud 里的 Media 概念简述
- SAP Spartacus buildCmsStructure 构建逻辑
- SAP Spartacus CMS 页面加载逻辑和性能的优化
- 如何在Component template函数执行时查看ɵɵtemplate或者ɵɵproperty传入的参数值
- R3Injector实例里的records map的填充逻辑
- SAP Spartacus cms-components.service.ts里的config.cmsComponents