gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

php js如何實現日歷簽到

php js實現日歷簽到的方法:首先創建好前臺代碼“$(".ser_mbx").click(function(){…}”;然后創建后臺PHP代碼“$this->assign('res',$res);”;最后將簽到寫入數據庫即可。

php js如何實現日歷簽到

本教程操作環境:windows7系統、PHP7.1版,DELL G3電腦

php+mysql+jquery實現日歷簽到功能

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

1.日歷簽到樣式:

php js如何實現日歷簽到

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

3.前臺代碼

<include file="Public:menu" /> <style type="text/css">   *{margin:0;padding:0;font:14px/1.8 "Helvetica Neue","microsoft yahei";} </style> <p class="ser_bx">   <p class="ser_bxc">     <span style="color:#5381B5;">簽到記錄</span>     <if condition="$res['0']['points'] eq '5'">       <p class="already btn_center">已簽到</p>     <else />       <p class="ser_mbx btn_center">立即簽到</p>     </if>     <p class="already btn_center" style="display:none;">已簽到</p>     <!--<p class="minein">積分 : <span style="color:#b81d25">{$poin.points}</span></p>-->   </p> </p> <p class="check_box"> <p style="width:500px;height:400px;margin:0 auto;">   <p style="width:300px;height:300px;margin-left:50px;" id="calendar"></p> </p>   </p> <script type="text/javascript">    $(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();         }       });      });    }); </script>  <script type="text/javascript" language="javascript">   $(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));         }       });   }  </script>   <script type="text/javascript">   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("<p class='sign_main' id='sign_layer'>");    htmls.push("<p class='sign_succ_calendar_title'>");    htmls.push("<p class='calendar_month_span'></p>");    htmls.push("</p>");    htmls.push("<p class='sign' id='sign_cal'>");    htmls.push("<table>");    htmls.push("<tr>");    htmls.push("<th>" + myMonth[0][0] + "</th>");    htmls.push("<th>" + myMonth[0][1] + "</th>");    htmls.push("<th>" + myMonth[0][2] + "</th>");    htmls.push("<th>" + myMonth[0][3] + "</th>");    htmls.push("<th>" + myMonth[0][4] + "</th>");    htmls.push("<th>" + myMonth[0][5] + "</th>");    htmls.push("<th>" + myMonth[0][6] + "</th>");    htmls.push("</tr>");    var d, w;    for (w = 1; w < 7; w++) {     htmls.push("<tr>");     for (d = 0; d < 7; d++) {      var ifHasSigned = calUtil.ifHasSigned(signList,myMonth[w][d]);      console.log(ifHasSigned);      if(ifHasSigned){       htmls.push("<td class='on'>" + (!isNaN(myMonth[w][d]) ? myMonth[w][d] : " ") + "</td>");      } else {       htmls.push("<td>" + (!isNaN(myMonth[w][d]) ? myMonth[w][d] : " ") + "</td>");      }     }     htmls.push("</tr>");    }    htmls.push("</table>");    htmls.push("</p>");    htmls.push("</p>");    return htmls.join('');   } }; </script> <include file="Public:footer" />

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視頻教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
欧美一级欧美一级| 亚洲中文字幕无码中文字| 91av在线免费播放| 国产麻豆电影在线观看| 91制片厂毛片| 精品一卡二卡三卡| 青青青在线播放| 隔壁人妻偷人bd中字| 国产四区在线观看| 一级 黄 色 片一| 亚洲美女性囗交| 热久久精品国产| 日本精品免费在线观看| 秋霞无码一区二区| 日本韩国欧美在线观看| 女人被男人躁得好爽免费视频| 午夜免费一级片| 婷婷视频在线播放| 五月六月丁香婷婷| 超碰中文字幕在线观看| 女同激情久久av久久| 亚洲一区二区在线视频观看| 伊人网在线综合| 天天操精品视频| 久久艹这里只有精品| 一级特黄妇女高潮| 免费在线看黄色片| 日本福利视频在线| 虎白女粉嫩尤物福利视频| 黄色高清无遮挡| 日本不卡一区二区在线观看| 久久精品亚洲天堂| 亚洲精品国产suv一区88| 国产91在线亚洲| 男人揉女人奶房视频60分| 日韩精品无码一区二区三区免费 | 天堂а√在线中文在线| 996这里只有精品| 大j8黑人w巨大888a片| 黑森林福利视频导航| 日本三级黄色网址| 伊人网在线免费| 国产a级一级片| 伊人影院综合在线| www.18av.com| 日本成人中文字幕在线| 午夜免费福利网站| 国产一区二区网| 欧美一级特黄a| 在线观看17c| 波多野结衣作品集| 精品久久免费观看| 怡红院av亚洲一区二区三区h| 日本爱爱免费视频| 超碰10000| 99草草国产熟女视频在线| 欧美性视频在线播放| 国内外成人激情视频| 污视频在线观看免费网站| 精品久久一二三| 亚洲女人在线观看| 欧美日韩激情视频在线观看| 日本高清一区二区视频| 欧美二区在线视频| 亚洲精品在线网址| 中文字幕无码不卡免费视频| 欧美精品一区二区性色a+v| 精品久久久久av| 日b视频免费观看| 又色又爽又黄视频| 丁香啪啪综合成人亚洲| 欧美在线观看黄| 黄大色黄女片18第一次| 国产原创中文在线观看| 五月天色婷婷综合| 亚洲第一中文av| 春日野结衣av| 久青草视频在线播放| 色91精品久久久久久久久| aa在线免费观看| 久久这里只有精品8| 亚洲天堂av一区二区三区| www.超碰com| 日韩欧美精品在线观看视频| 国产91沈先生在线播放| 亚洲av毛片在线观看| 国产 porn| 国产a视频免费观看| 成人免费播放器| 久久久久久av无码免费网站下载| 中文字幕第17页| 一区二区三区 欧美| 国产97色在线 | 日韩| 国产精品少妇在线视频| 香港三级韩国三级日本三级| 成人免费毛片在线观看| 男人的天堂视频在线| 日本一二三区在线| 国产精品久久久久久久99| 999久久久精品视频| 九九九九九九九九| 久久精品一卡二卡| 三级网在线观看| 日本高清视频免费在线观看| 日本一道在线观看| 97在线国产视频| 俄罗斯av网站| 成人小视频在线看| 日韩av片网站| 亚洲天堂一区二区在线观看| 亚洲欧美日韩不卡| 丰满人妻一区二区三区53号| 免费网站永久免费观看| 给我免费播放片在线观看| 久久综合色视频| 好男人www社区| 国内av一区二区| 天天想你在线观看完整版电影免费 | 97久久国产亚洲精品超碰热| 成人午夜免费在线视频| www.夜夜爱| 女性隐私黄www网站视频| 中国黄色片免费看| 国产高清精品软男同| 亚洲精品天堂成人片av在线播放| 成年人看的毛片| 日本老熟妇毛茸茸| 永久av免费在线观看| 久久久久99精品成人片| 精品视频无码一区二区三区| 中文字幕22页| 国产精品videossex国产高清| 欧美大片在线播放| 日本黄大片一区二区三区| 欧美少妇在线观看| 日批视频在线免费看| 天堂中文av在线| 日本www在线视频| 可以看污的网站| 国产精品无码人妻一区二区在线| 国产97色在线 | 日韩| 老司机午夜网站| 日本成人中文字幕在线| 中文字幕色呦呦| 黄色三级视频片| 日韩 欧美 视频| 亚洲va在线va天堂va偷拍| www插插插无码视频网站| 中文字幕亚洲乱码| 精品视频在线观看一区| 九九热精品国产| 狠狠爱免费视频| 国产女教师bbwbbwbbw| 鲁一鲁一鲁一鲁一av| 妞干网在线观看视频| 日本福利视频导航| 男女男精品视频站| 成年人视频观看| 国产成人亚洲综合无码| 色婷婷综合网站| www.亚洲天堂网| 日韩黄色短视频| 中文字幕第50页| 亚洲午夜激情影院| www.涩涩涩| 黄色片视频在线播放| 久久人妻无码一区二区| 午夜视频在线网站| 日本xxxxxxx免费视频| 亚洲中文字幕无码av永久| 日本特级黄色大片| 在线看免费毛片| 欧美第一页浮力影院| 人妻丰满熟妇av无码区app| 国产九九九九九| 福利视频一区二区三区四区| 日韩国产精品毛片| 免费不卡av网站| 1314成人网| 手机福利在线视频| 日韩视频在线观看视频| 九九久久久久久| 国产福利片一区二区| 天天操夜夜操很很操| 日本一本在线视频| 国产日本欧美在线| 欧美 日韩 国产 在线观看| 日韩欧美中文视频| 粉嫩av一区二区三区天美传媒| 中文字幕日韩久久| av电影一区二区三区| 国产免费xxx| 800av在线免费观看| 中文精品无码中文字幕无码专区| 欧美a级免费视频| 99热自拍偷拍| 色哟哟精品视频| 亚洲高清在线不卡| 亚洲av综合色区| 国产v片免费观看|