PHP简单签到功能实现

原创 2016年08月31日 13:48:36

本文简单介绍了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.


版权声明:本文为博主原创文章,未经博主允许不得转载。

php实现签到功能

首先我在数据库里建了两张表,一个是用户的积分表,一个是签到状态表,分来用来记录用户的积分数和先到状态   在用户签到状态表中我们有一个字段,last_sign_time,即上一次签到时间,每次...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

php实现签到功能

签到

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

PHP计算当前连续天数

PHP计算当前连续天数

php实现签到功能

首先我在数据库里建了两张表,一个是用户的积分表,一个是签到状态表,分来用来记录用户的积分数和先到状态   在用户签到状态表中我们有一个字段,last_sign_time,即上一次签到时间,每次...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

app每月签到功能简单实现

先上一张效果图: 其中这些签到的效果图是在网上找的,然后重要用到的控件就是 GridvVew 了, 代码很简单,只有3个代码文件: MainActivity.class 文件 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP简单签到功能实现
举报原因:
原因补充:

(最多只允许输入30个字)