日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

js php 实现日历签到_php+mysql+jquery实现日历签到功能

發布時間:2023/12/8 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js php 实现日历签到_php+mysql+jquery实现日历签到功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在網站開發過程中我們會經常用到簽到功能來獎勵用戶積分,或者做一些其他活動。這次項目開發過程中做了日歷簽到,因為沒有經驗所有走了很多彎路,再次記錄過程和步驟。

1.日歷簽到樣式:

2.本次簽到只記錄本月簽到數,想要查詢可以寫其他頁面,查詢所有簽到記錄。(功能有,非常麻煩,古沒有做。)

3.前臺代碼

*{margin:0;padding:0;font:14px/1.8 "Helvetica Neue","microsoft yahei";}

簽到記錄

已簽到立即簽到已簽到

$(document).ready(function(){

$(".ser_mbx").click(function(){

$.ajax({

url:"{:U('Index/Checkin')}",

type:'POST',

datatype:"json",

success:function(msg){

$(".already").show();

$(".ser_mbx").hide();

MonthSign();

}

});

});

});

$(document).ready(function(){

MonthSign();

});

function MonthSign(){

//ajax獲取日歷json數據

$.ajax({

url:"{:U('Index/MonthSign')}",

type:'POST',

datatype:"json",

success:function(msg){

//alert(msg);

/*var signList=[{"signDay":"10"},{"signDay":"11"},{"signDay":"12"},{"signDay":"13"}];

*/

calUtil.init(JSON.parse(msg));

}

});

}

var calUtil = {

//當前日歷顯示的年份

showYear:2015,

//當前日歷顯示的月份

showMonth:1,

//當前日歷顯示的天數

showDays:1,

eventName:"load",

//初始化日歷

init:function(signList){

calUtil.setMonthAndDay();

calUtil.draw(signList);

calUtil.bindEnvent();

},

draw:function(signList){

//綁定日歷

var str = calUtil.drawCal(calUtil.showYear,calUtil.showMonth,signList);

$("#calendar").html(str);

//綁定日歷表頭

var calendarName=calUtil.showYear+"年"+calUtil.showMonth+"月";

$(".calendar_month_span").html(calendarName);

},

//綁定事件

bindEnvent:function(){

//綁定上個月事件

$(".calendar_month_prev").click(function(){

//ajax獲取日歷json數據

/*var signList=[{"signDay":"10"},{"signDay":"11"},{"signDay":"12"},{"signDay":"13"}];

calUtil.eventName="prev";

calUtil.init(signList);*/

});

//綁定下個月事件

$(".calendar_month_next").click(function(){

//ajax獲取日歷json數據

/*var signList=[{"signDay":"10"},{"signDay":"11"},{"signDay":"12"},{"signDay":"13"}];

calUtil.eventName="next";

calUtil.init(signList);*/

});

},

//獲取當前選擇的年月

setMonthAndDay:function(){

switch(calUtil.eventName)

{

case "load":

var current = new Date();

calUtil.showYear=current.getFullYear();

calUtil.showMonth=current.getMonth() + 1;

break;

case "prev":

var nowMonth=$(".calendar_month_span").html().split("年")[1].split("月")[0];

calUtil.showMonth=parseInt(nowMonth)-1;

if(calUtil.showMonth==0)

{

calUtil.showMonth=12;

calUtil.showYear-=1;

}

break;

case "next":

var nowMonth=$(".calendar_month_span").html().split("年")[1].split("月")[0];

calUtil.showMonth=parseInt(nowMonth)+1;

if(calUtil.showMonth==13)

{

calUtil.showMonth=1;

calUtil.showYear+=1;

}

break;

}

},

getDaysInmonth : function(iMonth, iYear){

var dPrevDate = new Date(iYear, iMonth, 0);

return dPrevDate.getDate();

},

bulidCal : function(iYear, iMonth) {

var aMonth = new Array();

aMonth[0] = new Array(7);

aMonth[1] = new Array(7);

aMonth[2] = new Array(7);

aMonth[3] = new Array(7);

aMonth[4] = new Array(7);

aMonth[5] = new Array(7);

aMonth[6] = new Array(7);

var dCalDate = new Date(iYear, iMonth - 1, 1);

var iDayOfFirst = dCalDate.getDay();

var iDaysInMonth = calUtil.getDaysInmonth(iMonth, iYear);

var iVarDate = 1;

var d, w;

aMonth[0][0] = "日";

aMonth[0][1] = "一";

aMonth[0][2] = "二";

aMonth[0][3] = "三";

aMonth[0][4] = "四";

aMonth[0][5] = "五";

aMonth[0][6] = "六";

for (d = iDayOfFirst; d < 7; d++) {

aMonth[1][d] = iVarDate;

iVarDate++;

}

for (w = 2; w < 7; w++) {

for (d = 0; d < 7; d++) {

if (iVarDate <= iDaysInMonth) {

aMonth[w][d] = iVarDate;

iVarDate++;

}

}

}

return aMonth;

},

ifHasSigned : function(signList,day){

var signed = false;

$.each(signList,function(index,item){

if(item.signDay == day) {

signed = true;

return false;

}

});

return signed ;

},

drawCal : function(iYear, iMonth ,signList) {

var myMonth = calUtil.bulidCal(iYear, iMonth);

var htmls = new Array();

htmls.push("

");

htmls.push("

");

htmls.push("

htmls.push("

");

htmls.push("

");

htmls.push("

htmls.push("

");

htmls.push("

" + myMonth[0][0] + "");

htmls.push("

" + myMonth[0][1] + "");

htmls.push("

" + myMonth[0][2] + "");

htmls.push("

" + myMonth[0][3] + "");

htmls.push("

" + myMonth[0][4] + "");

htmls.push("

" + myMonth[0][5] + "");

htmls.push("

" + myMonth[0][6] + "");

htmls.push("

");

var d, w;

for (w = 1; w < 7; w++) {

htmls.push("

");

for (d = 0; d < 7; d++) {

var ifHasSigned = calUtil.ifHasSigned(signList,myMonth[w][d]);

console.log(ifHasSigned);

if(ifHasSigned){

htmls.push("

" + (!isNaN(myMonth[w][d]) ? myMonth[w][d] : " ") + "");

} else {

htmls.push("

" + (!isNaN(myMonth[w][d]) ? myMonth[w][d] : " ") + "");

}

}

htmls.push("

");

}

htmls.push("

");

htmls.push("

");

htmls.push("

");

return htmls.join('');

}

};

4.后臺代碼:查詢今天是否簽到:

$points = M('points_log');

$userid=session('user.id');

$begintime=date("Y-m-d H:i:s",mktime(0,0,0,date('m'),date('d'),date('Y')));

$endtime=date("Y-m-d H:i:s",mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1);

$where=array(

'points'=>'5',

'user_id'=>$userid,

'createtime' => array(array('gt',$begintime),array('lt',$endtime)),

);

$res=$points->where($where)->order("createtime desc")->select();

//var_dump($res['0']['points']);

$this->assign('res',$res);

5.查詢積分:

/*查詢積分*/

$jfen=M(cuser);

$list=$jfen->where(array('id'=>$userid))->field('points')->find();

$preg = '/[0]*/';

$poin = preg_replace($preg, '', $list, 1);

$this->assign('poin',$poin);

6.簽到寫入數據庫:

/*簽到*/

if(IS_AJAX){

$userid=session('user.id');

$type='簽到';

$typename='checkin';

$id_status='up';

$date=Date('Y-m-d H:i:s');

$dataList=array(

'user_id'=>$userid,

'type'=>$type,

'typename'=>$typename,

'id_status'=>$id_status,

'points'=>'5',

'createtime'=>$date,

'remark'=>'獎勵5積分'

);

$points = M('points_log');

if($points->add($dataList)){

$log=session('user.id');

$user=M('cuser');

$user->where(array('id'=>$log))->setInc('points',5);

}

$this->ajaxReturn($status);

}

7. /*查詢本月簽到天數,并以json格式返回*/

public function MonthSign(){

$userid=session('user.id');

$points = M('points_log');

$res=$points->where(array('user_id'=>$userid))->select();

$sign='[';

foreach($res as $key=>$value){

$first=explode(' ', $value['createtime']);

$second=explode('-', $first['0'])['2'];

if($key==0){

$sign .= '{"signDay":"'.$second.'"}';

}else{

$sign .= ',{"signDay":"'.$second.'"}';

}

}

$sign .=']';

$this->ajaxReturn($sign,'json');

}

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

本條技術文章來源于互聯網,如果無意侵犯您的權益請點擊此處反饋版權投訴

本文系統來源:php中文網

總結

以上是生活随笔為你收集整理的js php 实现日历签到_php+mysql+jquery实现日历签到功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 青娱乐91视频 | 亚洲国产精品久久久久久 | 久久尹人 | 丝袜理论片在线观看 | 免费黄片毛片 | 99久久亚洲精品日本无码 | 日本高清免费aaaaa大片视频 | 中国三级黄色 | 日本爽爽爽爽爽爽在线观看免 | 成人春色影视 | 91原视频 | 超碰在线国产 | 综合激情网五月 | 欧美少妇18p | 你懂的在线观看网站 | 奇米色在线| 手机av在线播放 | 免费观看在线播放 | 老妇女玩小男生毛片 | 国产91av视频 | 黄色一级大片 | 国产有码在线观看 | 欧美色图日韩 | 综合久久一区 | 国产欧美日韩中文字幕 | 欧美黄页网站 | caoporn人人| 国产一区二区三区观看 | 午夜动态图 | 一区二区的视频 | 日日爱99| 国内黄色一级片 | 亚洲社区在线观看 | 国产美女视频免费观看下载软件 | 国产天堂在线观看 | 久久亚洲区| 少妇人妻互换不带套 | 在线观看黄色 | 亚洲一区在线播放 | 日本少妇久久久 | 日本免费一区二区三区 | 日韩乱码人妻无码系列中文字幕 | 青青草视频免费 | 91精品系列| 荡女精品导航 | 成人观看网站 | 日本伦理在线 | 内射后入在线观看一区 | 人妻系列一区 | 自拍偷拍视频网 | 久久3p| 在线成人观看 | 亚洲精品无 | 亚洲成年 | 国产精品大片 | 日本学生初尝黑人巨免费视频 | 国产一区二三区 | 91夫妻论坛 | 久久婷婷激情 | 伊人福利在线 | 精品国产97 | 日韩一区二区三区免费 | 日爽夜爽 | 亚洲精品国产a | 中文国语毛片高清视频 | 无码人妻丰满熟妇区五十路百度 | 国产91九色 | 日本老太婆做爰视频 | 午夜av不卡| 男人肌肌桶女人肌肌 | 免费三片60分钟 | 天天热天天干 | 秋霞午夜鲁丝一区二区 | 一区二区三区免费在线观看视频 | 中文字幕黑人 | 亚洲女人在线 | 久久久亚洲欧美 | 性色生活片 | 久久午夜精品人妻一区二区三区 | 欧美在线不卡视频 | 在线国产一区 | www.国产在线 | 精品人妻码一区二区三区红楼视频 | 一区二区男女 | 2021毛片 | 亚洲AV午夜精品 | av啊啊| 在线二区 | www.好吊色 | 中文字幕一区二区三区四区视频 | 99热国产精品| av噜噜| 麻豆国产精品一区 | 污污视频网站在线免费观看 | 日韩不卡免费视频 | 精品人伦一区二区三区蜜桃网站 | 亚洲成人高清 | 久久久久久亚洲av无码专区 | av在线看片 |