php签到日历插件 节假日,PHP 日历签到模块

本文介绍了一个用于记录用户签到信息的数据库表设计方法。该表包括签到ID、关联成员ID、签到日期及签到积分等字段,并采用InnoDB引擎存储。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Create Table

CREATE TABLE `tb_signinfo` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘记录每条签到详情‘,

`memberID` int(11) DEFAULT NULL COMMENT ‘关联member表ID‘,

`signdate` int(8) DEFAULT NULL COMMENT ‘记录签到日期,格式:年月日‘,

`credit` int(255) DEFAULT NULL COMMENT ‘记录每次签到所赠送的积分值‘,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8

#tc_calendar{width:100%;}

#tc_title{height:33px;line-height:33px;text-align:right;overflow:hidden;}

#tc_title strong{font-weight:bold;font-size:14px;}

#tc_calendar{border-collapse:collapse;}

#tc_calendar td{text-align:center;width:35px;height:20px;line-height:20px;background-color:#efefef;border-bottom:1px solid #fff;border-right:1px solid #fff;}

#tc_calendar .even td{background-color:#e6e6e6;}

#tc_calendar td .current2{display:block;background-color:#f60;color:#fff;}

#tc_calendar .current{background-color:#cf0!important;color:#000;}

#tc_calendar .current2{background-color:#f60!important;color:#000;}

#tc_week td{color:#fff;background-color:#373737;}

$mdays=date("t"); //当月总天数

$datenow=date("j"); //当日日期

$monthnow=date("n"); //当月月份

$yearnow=date("Y"); //当年年份

//计算当月第一天是星期几

$wk1st=date("w",mktime(0,0,0,$monthnow,1,$yearnow));

$trnum=ceil(($mdays+$wk1st)/7); //计算表格行数

//以下是表格字串

$tabstr="

for($i=0;$i

$tabstr.="

";

for($k=0;$k<7;$k++) { //每行七个单元格

$tabidx=$i*7+$k; //取得单元格自身序号

//若单元格序号小于当月第一天的星期数($wk1st)或大于(月总数+$wk1st)

//只填写空格,反之,写入日期

($tabidx$mdays+$wk1st-1) ? $dayecho="&nbsp" : $dayecho= $tabidx-$wk1st+1;

//拼装年月日

if($monthnow<10){$m = "0".$monthnow;}else{$m = $monthnow;};

if($dayecho<10){$d = "0".$dayecho;}else{$d = $dayecho;};

$ymd = $yearnow.$m.$d;

//拼装后的日期信息与数据库做比对。 数据库日期格式20150611

//我这里使用的是CI框架。

$sql = "select signdate from tb_signinfo where signdate=‘".$ymd."‘";

$result = $this->db->query($sql)->num_rows;

if($result != 0){

$todaybg = " class="current2"";

}

else

{

$todaybg = "";

}

//这里突出标明今日日期 与上面的签到显示代码是重复的,如果需要两种效果同时实现,自行处理判断语句即可

/*if($dayecho==$datenow){

$todaybg = " class="current2"";

}

else

{

$todaybg = "";

}*/

$tabstr.="

$dayecho";

}

$tabstr.="

";

}

$tabstr.="

";

?>

=$yearnow?>年 =$monthnow?>月

原文:http://www.cnblogs.com/wildmonk3y/p/4569800.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值