PHP简单签到功能实现

来源:互联网 发布:李云龙 赵刚 知乎 编辑:程序博客网 时间:2024/05/16 14:24

本文简单介绍了PHP简单的签到功能

读取数据:前台ajax到后台,获取到当前年月已签到过的日期并返回显示。

写入数据:ajax发送签到数据到后台进行签到。


效果图如:



前台页面:

<!Doctype html><html xmlns=http://www.w3.org/1999/xhtml><head><meta http-equiv=Content-Type content="text/html;charset=utf-8"><style>.main{width:600px; height:350px; background:gray; margin-left: auto; margin-right: auto; overflow:hidden;-webkit-border-radius: 10px;-moz-border-radius: 10px; }.title{text-align:center; }.date{float:left; padding-left:31px; }.date1{float:left; width:20px; height:20px; padding-top:10px; padding-left:30px; padding-right:30px; }.content{margin-left:25px; }</style><script type="text/javascript" src="jquery-1.9.1.min.js"></script><script>function sendAjac(){var year=$("#yearsel").val();var month=$("#monthsel").val();$.ajax({  url: "get.php",  data: "year="+year+"&month="+month,  success: function(data){ajaxSuccess(data);}});}function ajaxSuccess(data){var result=data.split(",");for (var i = 0; i < result.length-1; i++) {for(var j=0;j<$(".date1").length;j++){if($(".date1:eq("+j+")").html()==result[i]){$(".date1:eq("+j+")").css("background", "red");}};}}function getTime(year, month, day) {    y = year    m = month    d = day    var myDate = new Date(year, month - 1, day);    return myDate;}function days_in_month(year, month) {    y = year;    m = month;    return 32 - new Date(y, m - 1, 32).getDate();}function view(year, month) {    var w = getTime(year, month, 1).getDay() - 1;    var num = days_in_month(year, month);    var index = 1;    //console.log(w);    var data = new Array();    for (var d = 0; d < num + w; d++) {        if (d < w) {            data[d] = '';        } else {            data[d] = index;            index++;        }    }    $("#content").html('');    for (var k = 0; k < data.length; k++) {        if (k % 7 == 0) {            $("#content").append("<div id='t" + k + "' class='date1'>" + data[k] + "</div><br>");        } else {            $("#content").append("<div id='t" + k + "' class='date1'>" + data[k] + "</div>");        }    }}$(document).ready(function() {    for (var t = 1970; t < 2999; t++) {        $("#yearsel").append("<option value ='" + t + "'>" + t + "</option>");    }    for (var y = 1; y < 13; y++) {        $("#monthsel").append("<option value ='" + y + "'>" + y + "</option>");    }    var year = new Date().getFullYear();    var month = new Date().getMonth() + 1;    var day = new Date().getDate();    var w = getTime(year, month, 1).getDay() - 1;    var num = day + w - 1;        $("#yearsel").change(function() {        year = $("#yearsel option:selected").text();        month = $("#monthsel option:selected").text();        view(year, month);        sendAjac();    });        $("#monthsel").change(function() {        year = $("#yearsel option:selected").text();        month = $("#monthsel option:selected").text();        view(year, month);sendAjac();    });    var oDate = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日', ];    for (var i = 0; i < 7; i++) {        $("#title").append("<div class='date'><b>" + oDate[i] + "</b></div>");    }    $("#yearsel option[value='" + year + "']").attr("selected", true);    view(year, month);    //标记当前日期    $("#t" + num).css('background', 'yellow');    sendAjac();});</script></head><body><div id="main" class="main"><center><h3>万年历</h3></center><select id="yearsel"></select>年<select id="monthsel"></select>月<br><br><div id="title" class="title"></div><div id="content" class="content"></div></div></body></html> 

ajax页面:

<?php if(empty($_GET["year"]) || empty($_GET["month"]) ){echo "未知错误!";exit();}$year=$_GET["year"];$month=$_GET["month"];$db=new PDO("mysql:host=localhost;dbname=qiandao","root","");$db->query("utf8");$result=$db->query("select day from list where year='$year' and month='$month'")->fetchAll();$text="";for ($i=0; $i < count($result); $i++) { $text.=$result[$i]['day'].",";}echo $text; ?>

数据库有名为qiandao,表为list,三个字段分别为:year,month,day.


0 0
原创粉丝点击