PHP网页设计盘算任务日(jessie看)
怎么培养啊 别光说不练啊,好 ,比如新人入门自己步是配置环境,虽然现在都有很多的集成环境,但是真实的体验下配置环境还是会有很多帮助,不论是你以后工作还是在真实的linux下开发。 如今还有成绩周一,周二不克不及做节沐日
能够算法上还有成绩,守候你的更新...
/**
* sports98
* flyruns@hotmail.com (接待交换)
*/
================
<html>
<head>
<title>盘算任务日(盘算一年内)</title>
</head>
<style type="text/css">
body,td {font-size:12px}
</style>
<body>
<form action="<?=$_SERVER?>" method="post" name="form1">
<table cellpadding=0 cellspacing=0 border=0>
<tr><td colspan=2 height=30 align=center>任务日盘算器(盘算一年内)
<tr><td>入手下手日期:<td><input type="text" name="starttime" value="<?=date("Y")?>-01-01">
<tr><td>停止日期:<td><input type="text" name="endtime" value="<?=date("Y-m-d")?>">
<tr><td>周歇息数:<td><input type="text" size=1 name="rest" value="2">天 始休日:
<select name="restday">
<option value="1">礼拜一</option>
<option value="2">礼拜二</option>
<option value="3">礼拜三</option>
<option value="4">木曜日</option>
<option value="5">礼拜五</option>
<option value="6" selected>礼拜六</option>
<option value="7">礼拜七</option>
</select>
<tr><td valign=top>法定假期:<td>
<textarea name="ordainrest" rows=7>05-01&5
10-01&5</textarea>(&停止分隔)
<tr><td>出席天数:<td><input type="text" size=1 name="absent" value="0">天(告假等未任务日)
<tr><td>加班天数:<td><input type="text" size=1 name="overtime" value="0">天
<tr><td>补假天数:<td><input type="text" size=1 name="supplytime" value="0">天
<input type="submit" value="盘算数据">
</table>
</form>
<?php
if(is_array($_POST)){//有POST数据
$starttime=date("z",mktime(0,0,0,substr($_POST,5,2),substr($_POST,8,2),substr($_POST,0,4)));
$endtime=date("z",mktime(0,0,0,substr($_POST,5,2),substr($_POST,8,2),substr($_POST,0,4)));
$alltime=$endtime-$starttime+1;
echo "自入手下手日期到停止日期,共:".$alltime."天";
echo "<br>出席天数:".$_POST."天";
echo "<br>加班日期:".$_POST."天";
echo "<br>补沐日期:".$_POST."天";
echo "<br>法定假期:<br>";
$tmpa=explode("\n",$_POST);
for($Tmpb=0;$Tmpb<count($tmpa);$Tmpb++){
$tmpc=explode("&",$tmpa[$Tmpb]);
echo " ".$tmpc." 歇息 ".$tmpc." 天<br>";
$tmpsize=date("z",mktime(0,0,0,substr($tmpc,0,2),substr($tmpc,3,2),date("Y")));//节沐日的日期数据
if($tmpsize>=$starttime && $tmpsize<=$endtime){
$alltime=$alltime-$tmpc;//从总的任务日中去失落法定日期
}
}
//调试点
// echo "<h3>$starttime $endtime</h3>";
$alltime-=$_POST;//扣除出席天数
$alltime+=$_POST;//加上加班日期
$alltime-=$_POST;//去失落增补的假期
//盘算周歇息日
$fweek=date("w",mktime(0,0,0,substr($_POST,5,2),substr($_POST,8,2),substr($_POST,0,4)));//取得入手下手日期的周数
$eweek=date("w",mktime(0,0,0,substr($_POST,5,2),substr($_POST,8,2),substr($_POST,0,4)));//停止周数
//这里要判别一下入手下手的礼拜天数(请求取得第一周的日期数)
if($fweek<$_POST){//不是歇息日(指定的任务歇息日),在指定歇息日前
$ctmp=abs($_POST-$fweek);
$runday=date("d",mktime(0,0,0,substr($_POST,5,2),$ctmp+substr($_POST,8,2),substr($_POST,0,4)));
//取得第一周的日期
}else{//再指定歇息往后(e.g. $fwwk=6 $_POST=2)
$ctmp=abs($fweek-$_POST);
$runday=date("d",mktime(0,0,0,substr($_POST,5,2),$ctmp+substr($_POST,8,2),substr($_POST,0,4)));
}
//调试点
// echo "<h3>$runday $ctmp $_POST $fweek</h3>";
for($ttmpa=0;;$ttmpa++){
//将以后的节沐日向后推7日,停止判别终究$ttmpa为节沐日数
$cday=date("z",mktime(0,0,0,substr($_POST,5,2),$runday+7*$ttmpa,substr($_POST,0,4)));
if($cday>$endtime){
break;
}
}
echo "<br>入手下手日期:".date("Y-m-d 礼拜w",mktime(0,0,0,substr($_POST,5,2),substr($_POST,8,2),substr($_POST,0,4)));;
echo "<br>停止日期:".date("Y-m-d 礼拜w",mktime(0,0,0,substr($_POST,5,2),substr($_POST,8,2),substr($_POST,0,4)));;
echo "<br>合计周末歇息:".$ttmpa."×".$_POST."=".$ttmpa*$_POST."天<span onclick=\"if(document.all['allweek'].style.display==''){this.innerHTML='(+)';document.all['allweek'].style.display='none';}else{this.innerHTML='(-)';document.all['allweek'].style.display='';}\" style=\"cursor:hand\">(+)</span>";
echo "<div id=\"allweek\" style=\"display:'none'\">";
for($TTmpa=0;$TTmpa<$ttmpa;$TTmpa++){
$dday=date("Y-m-d 礼拜w",mktime(0,0,0,substr($_POST,5,2),$runday+7*$TTmpa,substr($_POST,0,4)));
echo "$dday<br>";
}
echo "</div>";
if($fweek==6){//周六
}else if($fweek==0){//周日,则总歇息日仅仅去一天歇息日
$alltime+=1;//增添一天
}
$allcday=$ttmpa*$_POST;//总的任务歇息日
$alltime-=$allcday;
echo "<hr size=1>无效的任务日:<font color=red>$alltime</font>";
}
?>
</body>
</html>
《PHP+MYSQL WEB开发(第三版)》号称圣经级,(也许是个不错的选择(声明:作者没给我啥好处费,我也不是书托,隔着大老远,我连他老兄的面都没见过的说-_-) Ps:以上纯属原创,如有雷同,纯属巧合 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。 如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了, 有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。 首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。 基础有没有对学习php没有太大区别,关键是兴趣。 小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。 php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。 不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。 ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。 首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。 首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。 写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。 首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
页:
[1]