日历的PHP接口代码:

$user_id = $_SESSION['user_id'];
$year = isset($_REQUEST['tty']) ? intval($_REQUEST['tty']) : date('Y');
$month = isset($_REQUEST['ttm']) ? intval($_REQUEST['ttm']) : date('m');
//获取当前月有多少天
$days = date('t', strtotime("{$year}-{$month}-1"));
// 当前1号是星期几
$week = date('w', strtotime("{$year}-{$month}-1"));
// 实现上一月和上一年
if ($month == 1) {
$premonth = 12;
$preyear = $year - 1;
} else {
$premonth = $month - 1;
$preyear = $year;
}
// 实现下一月和下一年
if ($month == 12) {
$nextmonth = 1;
$nextyear = $year + 1;
} else {
$nextmonth = $month + 1;
$nextyear = $year;
}
$dayss = array();
for ($i = 1; $i <= $week; $i++) {
$dayss[] = '';
}
for ($i = 1; $i <= $days; $i++) {
$dayss[] = $i;
}
// 获取签到所有数据(本月中)
$start = strtotime("{$year}-{$month}-1");
$end = strtotime("{$nextyear}-{$nextmonth}-1") - 1;
$logsql = 'SELECT * FROM ' . $ecs->table('hpyer_sign_log') . " where uid={$user_id} AND add_time between {$start} AND {$end}";
$loglist = $db->getAll($logsql);
$loginfo = array();
foreach ($loglist as $v) {
$loginfo[] = intval(date('d', $v['add_time']));
} $result = array(
'code' => 1,
'data' => array(
'year' => $year,
'month' => $month,
'preyear' => $preyear,
'premonth' => $premonth,
'nextyear' => $nextyear,
'nextmonth' => $nextmonth,
'days' => $dayss,
'loginfo' => $loginfo
)
);
die($jsonr->encode($result));

HTML接口说明:

$('.riQh').on('click', function() {
var tty = $(this).attr('tty'),
ttm = $(this).attr('ttm');
$.ajax({
url: '/mobile/ajaxnew.php',
data: {
act: 'rili',
tty: tty,
ttm: ttm
},
type: 'post',
dataType: 'json',
success: function(res) {
console.log(res);
if (res.code == 1) {
$('.riz').attr('tty', res.data.preyear);
$('.riz').attr('ttm', res.data.premonth);
$('.riy').attr('tty', res.data.nextyear);
$('.riy').attr('ttm', res.data.nextmonth);
$('#nowdate').text(res.data.year + '年' + res.data.month + '月');
var zoninfo = '';
for (var i = 0; i < res.data.days.length; i++) {
if(res.data.loginfo.indexOf(res.data.days[i]) >-1){
zoninfo += '<li class="active">'+res.data.days[i]+'</li>';
}else{
zoninfo += '<li>'+res.data.days[i]+'</li>';
}
}
$('#rilihtml').html(zoninfo);
} else {
alert('获取数据失败!');
}
}
});
});

php 日历代码的更多相关文章

  1. java 日历代码实现

    System.out.println("请输入日期(按照格式:2030-3-10):"); //在控制台输入 //String str="2016-9-26"; ...

  2. PyQt4 进度条和日历 代码

    # -*- coding: utf-8 -*- """ ------------------------------------------------- File Na ...

  3. java中日历代码的实现

    import java.util.Scanner; com.lv.calendarWatch//包名 /* * 需求:输入一个年份和月份 ,显示当前月日情况 ,星期数要对应准确 * 1.1900年1月 ...

  4. [AY技术分享]WPF AYUI的高大上日历代码

    看到这里,也谢谢大家关注了AYUI 这次讲的是AY最近没事开发的AyDatePicker,先看效果图 SelectMode=DateTime模式 SelectMode=OnlySelectDate模式 ...

  5. Android 一个日历控件的实现代码

    转载  2017-05-19   作者:Othershe   我要评论 本篇文章主要介绍了Android 一个日历控件的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看 ...

  6. js编写当天简单日历

    之前一直很想用javascript写一个日历,但是因为完全没有好的思路, 所以迟迟没有尝试.最近在网上刚好看到用javascript编写的简单日历的例子,代码量虽然不大, 但是我觉得很好地阐述了js日 ...

  7. 用JS编写日历的简单思路

    提要:本文以写当前时间环境下当月的日历表为例,用最简单的方法实现JavaScript日历,旨在展示JS世界中实用为本.简单为上的解决问题的思路. Web页中的日历一般离不开表格,通常都使用表格装载指定 ...

  8. 推荐一款JavaScript日历控件:kimsoft-jscalendar

    一.什么是 kimsoft-jscalendar     一个简洁的avaScript日历控件,可在Java Web项目,.NET Web 项目中使用 二.kimsoft-jscalendar 有什么 ...

  9. 自定义javascript日历控件

    Web页中的日历一般离不开表格,通常都使用表格装载指定月的日期等信息.所以,要编写JS日历,首先必须解决的问题是表格的行与列问题.列是固定的,七列,因为一周有七天.行需要动态计算,因为,每一个月的第一 ...

随机推荐

  1. python 绘制柱状图

    python 绘制柱状图 import matplotlib.pyplot as plt import numpy as np # 创建一个点数为 8 x 6 的窗口, 并设置分辨率为 80像素/每英 ...

  2. Spring Boot(二):数据库操作

    本文主要讲解如何通过spring boot来访问数据库,本文会演示三种方式来访问数据库,第一种是JdbcTemplate,第二种是JPA,第三种是Mybatis.之前已经提到过,本系列会以一个博客系统 ...

  3. DFA确定有限状态自动机

    DFA 在计算理论中,确定有限状态自动机或确定有限自动机(英语:deterministic finite automaton, DFA)是一个能实现状态转移的自动机.对于一个给定的属于该自动机的状态和 ...

  4. 面向对象编程(OPP)

    作者:狐狸家的鱼 本文链接:面向对象编程 GitHub:sueRimn 面向对象编程(OPP) 具有灵活.代码可复用.高度模块化等特点,易维护和开发 实例对象与new命令 1.对象 对象是单个实物的抽 ...

  5. 八.django模型系统(二)之常用查询及表关系的实现

    Ⅰ.常用查询  1.几个概念 每一个django模型类,都有一个默认的管理器,objects,查询就是依赖于objects管理器进行的(在创建时就被添加了). QuerySet表示数据库中对象的列表( ...

  6. (九) 主机增加打印(串口+ssh)

    目录 主机增加打印(串口+ssh) ssh 串口打印 title: 主机增加打印(串口+ssh) date: 2019/4/23 20:10:00 toc: true --- 主机增加打印(串口+ss ...

  7. JAVA之锁-cas

    CAS是什么? CAS是英文单词CompareAndSwap的缩写,中文意思是:比较并替换.CAS需要有3个操作数:内存地址V,旧的预期值A,即将要更新的目标值B. CAS指令执行时,当且仅当内存地址 ...

  8. 一封来自恶魔的挑战邀请函,那些你见过或者没见过的C语言指针都在这里了

    前言 相信大多数的同学都是第一门能接触到语言是C/C++,其中的指针也是比较让人头疼的部分了,因为光是指针都能专门出一本叫<C和指针>的书籍,足见指针的强大.但如果不慎误用指针,这些指针很 ...

  9. docker常用命令总结

    1.docker ps  查看当前正在运行的容器 2.docker ps -a 查看所有容器的状态 3.docker start/stop id/name     启动/停止某个容器 4.docker ...

  10. react native 子组件向父组件传值

    父组件:   引入子组件:import CheckBox from  '../checkbox';   父子之间交互通信,接受子组件的值 fn(val){this.setState({roleType ...