60行PHP代码实现值班信息查询带万年历

1 篇文章 0 订阅

index.php主文件 (60行) 

<style>
*{text-align:center;font-size:3vw;} 
a{text-decoration:none;}
.title { background-color:#006AA8;color:white; } 
.table {margin:0 auto;width:99%;text-align:center;font-size:3.5vw;border-left:1px solid #a2c6d3;border-top:2px solid #a2c6d3;}
.table td, .table th{padding:12px;border-bottom:1px solid #a2c6d3;border-right:1px solid #a2c6d3;}
</style>
<?php
$filex = "./data.zhiban.php"; //设置数据文件路径
$year = empty($_GET['y']) ? date("Y") : intval($_GET['y']);
$mons = empty($_GET['m']) ? date("m") : intval($_GET['m']);
$dayx = empty($_GET['d']) ? date("d") : intval($_GET['d']);
$mons = substr("0".$mons,-2); //+0
$dayx = substr("0".$dayx,-2); //+0
$nymd = "$year-$mons-$dayx";
function readcsv($filex){
 $handle = fopen($filex, "r");
 while ($data = fgetcsv($handle,0,"\t")) { yield $data; }
 fclose($handle);
}
echo "<table class='table' cellspacing='0'>\r\n";
echo "<caption>$nymd 值班信息</caption>"; $k=0;
foreach (readcsv($filex) as $key => $kar){
if($key=="1"){
$ti = $kar; unset($kar[0]); $lie=count($kar);
echo "<tr class='title'><td>".join("</td><td>",$kar)."</td></tr>";
}
if($kar[0]."@"==$nymd."@"){
$k++;  unset($kar[0]); echo "<tr><td>".join("</td><td>",$kar)."</td></tr>";
}
}
if("$k@"=="0@") echo "<tr><td colspan='{$lie}'>该日($nymd)无值班信息</td></tr>";
echo "</table><br>\r\n";
$days = date("t",mktime(0,0,0,$mons,'1',$year));//获取对应该月的天数
$xiqi = date("w",mktime(0,0,0,$mons,'1',$year));//获取该月的星期几
$week = array("周日","周一","周二","周三","周四","周五","周六"); 
$prey = $xiay = $year; $prem = $xiam = $mons;
if($prem <= 1){ $prem = 12; $prey--;}else{ $prem--;} //上一月
if($xiam >= 12){ $xiam = 1; $xiay++;}else{ $xiam++;} //下一月
$syy = "<a href='?y={$prey}&m={$prem}'>上月</a>";
$xyy = "<a href='?y={$xiay}&m={$xiam}'>下月</a>";
echo "<table class='table' cellspacing='0'>\r\n";
echo "<tr><th>$syy</th><th colspan='5'>{$year}年{$mons}月</th><th>$xyy</th></tr>\r\n";
echo "<tr class='title'>";
for($i=0;$i<=6;$i++){ echo "<th>{$week[$i]}</th>\r\n";}
echo "</tr>\r\n";
$eda = 1;
while($eda <= $days){
echo "\r\n<tr>\r\n";
for($i=0;$i<=6;$i++){
if($eda <= $days && ($xiqi <= $i || $eda != 1) ){
$ddd = "<a href='?y={$year}&m={$mons}&d={$eda}'>$eda</a>";
 echo "<td>$ddd</td>\r\n"; $eda++;
}else{
 echo "<td>&nbsp;</td>\r\n";
}
}    
echo "</tr>\r\n";
}
echo "</table>";

数据参考:data.zhiban.php

<?php exit();?>
值班日期	值班领导	值班成员
2022-09-19	李一	李叁一 李贰一 李壹一
2022-09-20	李一	李叁一 李贰一 李壹一
2022-09-21	李二	李叁二 李贰二 李壹二
2022-09-22	李三	李叁三 李贰三 李壹三
2022-09-23	李四	李叁四 李贰四 李壹四
2022-09-24	李五	李叁五 李贰五 李壹五
2022-09-25	李六	李叁六 李贰六 李壹六
2022-09-26	李七	李叁七 李贰七 李壹七
2022-09-27	李八	李叁八 李贰八 李壹八
2022-09-28	李九	李叁九 李贰九 李壹九
2022-09-29	李一零	李叁一零 李贰一零 李壹一零
2022-09-30	王一	王叁一 王贰一 王壹一
2022-10-01	王二	王叁二 王贰二 王壹二
2022-10-02	王三	王叁三 王贰三 王壹三
2022-10-03	王四	王叁四 王贰四 王壹四
2022-10-04	王五	王叁五 王贰五 王壹五
2022-10-05	王六	王叁六 王贰六 王壹六
2022-10-06	王七	王叁七 王贰七 王壹七
2022-10-07	王八	王叁八 王贰八 王壹八
2022-10-08	王九	王叁九 王贰九 王壹九
2022-10-09	王一零	王叁一零 王贰一零 王壹一零
2022-10-10	张一	张叁一 张贰一 张壹一
2022-10-11	张二	张叁二 张贰二 张壹二
2022-10-12	张三	张叁三 张贰三 张壹三
2022-10-13	张四	张叁四 张贰四 张壹四
2022-10-14	张五	张叁五 张贰五 张壹五
2022-10-15	张六	张叁六 张贰六 张壹六
2022-10-16	张七	张叁七 张贰七 张壹七
2022-10-17	张八	张叁八 张贰八 张壹八
2022-10-18	张九	张叁九 张贰九 张壹九
2022-10-19	张一零	张叁一零 张贰一零 张壹一零
2022-10-20	刘一	刘叁一 刘贰一 刘壹一
2022-10-21	刘二	刘叁二 刘贰二 刘壹二
2022-10-22	刘三	刘叁三 刘贰三 刘壹三
2022-10-23	刘四	刘叁四 刘贰四 刘壹四
2022-10-24	刘五	刘叁五 刘贰五 刘壹五
2022-10-25	刘六	刘叁六 刘贰六 刘壹六
2022-10-26	刘七	刘叁七 刘贰七 刘壹七
2022-10-27	刘八	刘叁八 刘贰八 刘壹八
2022-10-28	刘九	刘叁九 刘贰九 刘壹九
2022-10-29	刘一零	刘叁一零 刘贰一零 刘壹一零
2022-10-30	陈一	陈叁一 陈贰一 陈壹一
2022-10-31	陈二	陈叁二 陈贰二 陈壹二
2022-11-01	陈三	陈叁三 陈贰三 陈壹三
2022-11-02	陈四	陈叁四 陈贰四 陈壹四
2022-11-03	陈五	陈叁五 陈贰五 陈壹五
2022-11-04	陈六	陈叁六 陈贰六 陈壹六
2022-11-05	陈七	陈叁七 陈贰七 陈壹七
2022-11-06	陈八	陈叁八 陈贰八 陈壹八
2022-11-07	陈九	陈叁九 陈贰九 陈壹九
2022-11-08	陈一零	陈叁一零 陈贰一零 陈壹一零
2022-11-09	杨一	杨叁一 杨贰一 杨壹一
2022-11-10	杨二	杨叁二 杨贰二 杨壹二
2022-11-11	杨三	杨叁三 杨贰三 杨壹三

推荐PHP5.6 - 7.3 ;

PHP 5.5+; 推荐宝塔 护卫神及主流虚拟主机部署
数据:第一行是代码防止下载;第二行是各列字段(列标题)
数据:第一列是日期年-月-日;严格参考格式:2021-08-08
数据:编码UTF-8 无合并单元格,复制自Excel
数据参考:复制data.zhiban.php 文本内容(第二行开始)到Excel查看 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YUJIANYUE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值