仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1095|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网页设计盘算任务日(jessie看)

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:23:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
怎么培养啊 别光说不练啊,好 ,比如新人入门自己步是配置环境,虽然现在都有很多的集成环境,但是真实的体验下配置环境还是会有很多帮助,不论是你以后工作还是在真实的linux下开发。   如今还有成绩
周一,周二不克不及做节沐日
能够算法上还有成绩,守候你的更新...
/**
  * sports98
  * flyruns@hotmail.com (接待交换)
  */
================
<html>
<head>
<title>盘算任务日(盘算一年内)</title>
</head>
<style type="text/CSS">
    body,td {font-size:12px}
</style>
<body>
<form action="<?=$_SERVER[PHP_SELF]?>" 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[starttime],5,2),substr($_POST[starttime],8,2),substr($_POST[starttime],0,4)));
    $endtime=date("z",mktime(0,0,0,substr($_POST[endtime],5,2),substr($_POST[endtime],8,2),substr($_POST[endtime],0,4)));
    $alltime=$endtime-$starttime+1;
    echo "自入手下手日期到停止日期,共:".$alltime."天";
    echo "<br>出席天数:".$_POST[absent]."天";
    echo "<br>加班日期:".$_POST[overtime]."天";
    echo "<br>补沐日期:".$_POST[supplytime]."天";
    echo "<br>法定假期:<br>";
    $tmpa=explode("\n",$_POST[ordainrest]);
        for($Tmpb=0;$Tmpb<count($tmpa);$Tmpb++){
            $tmpc=explode("&",$tmpa[$Tmpb]);
            echo "          ".$tmpc[0]." 歇息 ".$tmpc[1]." 天<br>";
            $tmpsize=date("z",mktime(0,0,0,substr($tmpc[0],0,2),substr($tmpc[0],3,2),date("Y")));//节沐日的日期数据
            if($tmpsize>=$starttime && $tmpsize<=$endtime){
                $alltime=$alltime-$tmpc[1];//从总的任务日中去失落法定日期
            }
        }
//调试点   
//    echo "<h3>$starttime $endtime</h3>";

    $alltime-=$_POST[absent];//扣除出席天数
    $alltime+=$_POST[overtime];//加上加班日期
    $alltime-=$_POST[supplytime];//去失落增补的假期

    //盘算周歇息日
    $fweek=date("w",mktime(0,0,0,substr($_POST[starttime],5,2),substr($_POST[starttime],8,2),substr($_POST[starttime],0,4)));//取得入手下手日期的周数
    $eweek=date("w",mktime(0,0,0,substr($_POST[endtime],5,2),substr($_POST[endtime],8,2),substr($_POST[endtime],0,4)));//停止周数
    //这里要判别一下入手下手的礼拜天数(请求取得第一周的日期数)
    if($fweek<$_POST[restday]){//不是歇息日(指定的任务歇息日),在指定歇息日前
        $ctmp=abs($_POST[restday]-$fweek);
        $runday=date("d",mktime(0,0,0,substr($_POST[starttime],5,2),$ctmp+substr($_POST[starttime],8,2),substr($_POST[starttime],0,4)));
        //取得第一周的日期
    }else{//再指定歇息往后(e.g. $fwwk=6 $_POST[restday]=2)
        $ctmp=abs($fweek-$_POST[restday]);
        $runday=date("d",mktime(0,0,0,substr($_POST[starttime],5,2),$ctmp+substr($_POST[starttime],8,2),substr($_POST[starttime],0,4)));
    }
//调试点   
//    echo "<h3>$runday $ctmp $_POST[restday] $fweek</h3>";
    for($ttmpa=0;;$ttmpa++){
        //将以后的节沐日向后推7日,停止判别  终究$ttmpa为节沐日数
        $cday=date("z",mktime(0,0,0,substr($_POST[starttime],5,2),$runday+7*$ttmpa,substr($_POST[starttime],0,4)));
        if($cday>$endtime){
            break;
        }
    }
    echo "<br>入手下手日期:".date("Y-m-d 礼拜w",mktime(0,0,0,substr($_POST[starttime],5,2),substr($_POST[starttime],8,2),substr($_POST[starttime],0,4)));;
    echo "<br>停止日期:".date("Y-m-d 礼拜w",mktime(0,0,0,substr($_POST[endtime],5,2),substr($_POST[endtime],8,2),substr($_POST[endtime],0,4)));;
    echo "<br>合计周末歇息:".$ttmpa."×".$_POST[rest]."=".$ttmpa*$_POST[rest]."天<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[starttime],5,2),$runday+7*$TTmpa,substr($_POST[starttime],0,4)));
        echo "$dday<br>";
    }
    echo "</div>";
    if($fweek==6){//周六
    }else if($fweek==0){//周日,则总歇息日仅仅去一天歇息日
        $alltime+=1;//增添一天
    }
    $allcday=$ttmpa*$_POST[rest];//总的任务歇息日
    $alltime-=$allcday;
    echo "<hr size=1>无效的任务日:<font color=red>$alltime</font>";
}
?>
</body>
</html>
  《PHP+MYSQL WEB开发(第三版)》号称圣经级,(也许是个不错的选择(声明:作者没给我啥好处费,我也不是书托,隔着大老远,我连他老兄的面都没见过的说-_-)
飘灵儿 该用户已被删除
沙发
发表于 2015-2-4 12:52:35 | 只看该作者
Ps:以上纯属原创,如有雷同,纯属巧合
若相依 该用户已被删除
板凳
发表于 2015-2-9 08:09:01 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
金色的骷髅 该用户已被删除
地板
发表于 2015-2-27 04:53:51 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
5#
发表于 2015-3-3 03:38:36 | 只看该作者
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
不帅 该用户已被删除
6#
发表于 2015-3-10 02:26:00 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
活着的死人 该用户已被删除
7#
发表于 2015-3-11 06:50:38 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
老尸 该用户已被删除
8#
发表于 2015-3-11 08:01:12 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
冷月葬花魂 该用户已被删除
9#
发表于 2015-3-15 17:02:08 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
谁可相欹 该用户已被删除
10#
发表于 2015-3-20 17:17:28 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
小女巫 该用户已被删除
11#
发表于 2015-3-21 13:10:43 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
只想知道 该用户已被删除
12#
发表于 2015-3-31 11:36:25 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
第二个灵魂 该用户已被删除
13#
发表于 2015-4-14 22:28:13 | 只看该作者
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
精灵巫婆 该用户已被删除
14#
发表于 2015-4-16 18:08:12 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
灵魂腐蚀 该用户已被删除
15#
发表于 2015-4-24 00:40:29 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
透明 该用户已被删除
16#
发表于 2015-5-4 09:18:45 | 只看该作者
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
admin 该用户已被删除
17#
发表于 2015-6-24 01:42:04 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
简单生活 该用户已被删除
18#
发表于 2015-6-29 22:41:04 | 只看该作者
写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。
因胸联盟 该用户已被删除
19#
发表于 2015-6-30 19:11:59 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-13 15:03

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表