您的位置:首页 > 编程语言 > PHP开发

PHP简单签到功能实现

2016-08-31 13:48 309 查看
本文简单介绍了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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: