网普技术论坛 网普科技  
» 游客:   网普主页 | 注册 | 登录 | 帮助
 

作者:
标题: 一个精简的日历 上一主题 | 下一主题
snowboy
网普成员




积分 84
发贴 60
注册 2004-6-29
状态 离线
#1  一个精简的日历

calendar.php代码如下

<?
$year = $_GET[y];
$month = $_GET[m];

if($month == null) $month = date("m");
if($day == null) $day = date("d");
if($year == null) $year = date("Y");

$weekOneDay = date("w",mktime(0,0,0,$month,1,$year)); //算出本月份第一天是周几??
$dayNum = date("t",mktime(0,0,0,$month,1,$year)); //取得本月的天数
$weekNum = ceil(($dayNum+$weekOneDay+1)/7); //算出本月份的周数!!

//echo $weekOneDay;
//echo $dayNum;
//echo $weekNum;
//echo $day;
?>
<table width="152" border="0" cellpadding="1" cellspacing="1" bgcolor="#006699">
<tr align="center" valign="middle" bgcolor="#FFFFFF">
<td colspan="7"><? echo $year."年 - ".$month."月"; ?></td>
</tr>
<tr align="center" valign="middle" bgcolor="#FFFFFF">
<td>日</td>
<td>一</td>
<td>二</td>
<td>三</td>
<td>四</td>
<td>五</td>
<td>六</td>
</tr>
<?
$d = 1;
for($i = 1;$i <= $weekNum*7;$i+=7){
?>
<tr align="center" valign="middle" bgcolor="#FFFFFF">
<? for($j = $i;$j < $i+7;$j++) { ?>
<?
if($j >= $weekOneDay+1 && $d <= $dayNum){
if(strlen($d) == 1)
$nowDay = "0".$d;
else
$nowDay = $d;

if($year == date("Y") && $month == date("m") && $nowDay == $day) {
echo "<td bgcolor=#CCCCCC>";
}else{
echo "<td bgcolor=#ffffff>";
}

echo $d;

$d++;
}else{
echo "<td bgcolor=#ffffff>&nbsp;";
}
?></td>
<? } ?>
</tr>
<?
}
?>
<tr align="center" valign="middle" bgcolor="#FFFFFF">
<td colspan="3">
<?
//分页
$fileName = "calendar.php";
$nextYear = ($year+1);
$prevYear = ($year-1);

if(substr($month,0,1) == 0)
$month = substr($month,1,1);

if(($month+1) > 12) {
$nextMonth = 1;
$nextLinkYear = ($year+1);
}else{
$nextMonth = ($month+1);
$nextLinkYear = $year;
}

if(($month-1) < 1) {
$prevMonth = 12;
$prevLinkYear = ($year-1);
}else{
$prevMonth = ($month-1);
$prevLinkYear = $year;
}

$nextYearUrl = $fileName."?y=".$nextYear."&m=".$month;
$prevYearUrl = $fileName."?y=".$prevYear."&m=".$month;

$nextMonthUrl = $fileName."?y=".$nextLinkYear."&m=".$nextMonth;
$prevMonthUrl = $fileName."?y=".$prevLinkYear."&m=".$prevMonth;
?>
<a href="<? echo $prevYearUrl; ?>">< </a>年份 <a href="<? echo $nextYearUrl; ?>">></a></td>
<td><a href="<? echo $fileName; ?>?y=<? echo date("Y"); ?>&m=<? echo date("m"); ?>"></td>
<td colspan="3"><a href="<? echo $prevMonthUrl; ?>"><</a> 月份 <a href="<? echo $nextMonthUrl; ?>">></a></td>
</tr>
</table>



┏━━━━━━━┓
   男人酷吧不是罪
┗━━━━━━━┛
   ----------------
                 http://www.qiang.com.ru
2005-5-8 01:25 PM
查看资料  发送邮件  访问主页  发短消息   编辑帖子  引用回复 顶部
celn
网普高级成员





积分 209
发贴 197
注册 2004-6-30
状态 离线
#2  

有演示么?
楼上的

2005-5-21 09:05 PM
查看资料  发送邮件  发短消息   编辑帖子  引用回复 顶部
snowboy
网普成员




积分 84
发贴 60
注册 2004-6-29
状态 离线
#3  

直接拷贝下来另存为calendar.php就可以了,用眼看也能看出工作的过程



┏━━━━━━━┓
   男人酷吧不是罪
┗━━━━━━━┛
   ----------------
                 http://www.qiang.com.ru
2005-5-21 09:10 PM
查看资料  发送邮件  访问主页  发短消息   编辑帖子  引用回复 顶部
茱莉娅
THE BODY SHOP美容顾问

茱莉娅美体小铺


积分 84
发贴 60
注册 2009-5-21
来自 茱莉娅美体小铺
状态 离线
#3  赞助商信息The body shop

茱莉娅美体小铺
茱莉娅美体小铺淘宝店
茱莉娅美体小铺


茱莉娅美体小铺淘宝店
2005-5-21 09:10 PM
查看资料  发送邮件  访问主页  发短消息   编辑帖子  引用回复 顶部


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转:  




Powered by Discuz! 2.5 © 2001-2005 Comsenz Technology Ltd.
Processed in 0.006700 second(s), 7 queries, Gzip enabled
------------------------------------------------------------------------------
本论坛属网普科技交流与技术支持论坛!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
美国主机, 美国虚拟主机, cPanel+PHP+Mysql+Ftp+Email+Zend+GD2+国际域名支持
技术支持 QQ: 126818 EMail & MSN: support[AT]netpu.net
[ 联系我们 ] - [ 网普科技 ]