3

基于PHP的简单4人排班系统


前些日子因为工作需要,做了个在线的4个人轮班的排班表系统,功能很简单,就是按人数与天数来生成一份排班表。
分别需要填写”昨日的早班与夜班” “今日的早班与晚班” “日期的开始与结束”
点击这里看预览

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <title>Four Shift Roster</title>
  6. </head>
  7. <body>
  8.    <pre><B>don't hesitate to let me know if you have any question.</B><BR />author: <a href=http://baiqiuyi.com target="_blank">小桥流水人家</a><BR />
  9. <?php
  10.  
  11. $name1=$_POST['name1'];
  12. $name2=$_POST['name2'];
  13. $name3=$_POST['name3'];
  14. $name4=$_POST['name4'];
  15. $start=(int)$_POST['start'];
  16. $end=(int)$_POST['end'];
  17. if ($_POST[sumbit]=="make" || empty($name1) || empty($name2) || empty($name3) || empty($name4) || empty($start) || empty($end))
  18. {
  19.    ?>
  20.       <form action="" method="POST">
  21.       <table align="CENTER">
  22.       <B>Yesterday</B><BR />
  23.       Day Shift     <input type="text" name="name1" size="8" maxlength="8" />
  24.       Night Shift<input type="text" name="name2" size="8" maxlength="8" /><BR />
  25.       <BR />
  26.       <B>Today</B><BR />
  27.       Day Shift   <input type="text" name="name3" size="8" maxlength="8" />
  28.       Night Shift <input type="text" name="name4" size="8" maxlength="8" /><BR />
  29.  
  30.     
  31.       <B>Date</B><BR />
  32.       Autual Starting Date <input type="text" name="start" size="8" maxlength="8" /> &nbsp; &nbsp; &nbsp; 
  33.       The End Date       <input type="text" name="end" size="8" maxlength="8" /><BR /><BR />
  34.       <input type="submit" name="Make" value="Make">
  35.       </form>
  36.       </table>
  37.       <?php
  38. }
  39. else
  40. {
  41.    if ($start >31 )
  42.    {
  43.       echo 'Input ERROR,plz check again!';
  44.       exit();
  45.    }
  46.    if ($end>31)
  47.    {
  48.       echo 'input ERROR,plz check again!';
  49.       exit();
  50.    }
  51.    if (!is_int($start) || !is_int($end))
  52.    {
  53.       echo 'do you have input a number?';
  54.       exit();
  55.    }
  56.    function class_output()
  57.    {
  58.       global $name1;
  59.       global $name2;
  60.       global $name3;
  61.       global $name4;
  62.       global $start;
  63.       global $end;
  64.  
  65.       $content=array(
  66.         'a'=>array(
  67.            array('name'=>$name1,'class'=>'Day Shift','state'=>'open'),
  68.            array('name'=>$name2,'class'=>'Night Shift','state'=>'open')
  69.            ),
  70.         'b'=>array(
  71.            array('name'=>$name3,'class'=>'Day Shift','state'=>'close'),
  72.            array('name'=>$name4,'class'=>'Night Shift','state'=>'close')
  73.            )
  74.         );
  75.       ?>
  76.      <table border="1" width="600" cellspacing="0" cellpadding="0" align="center">
  77.      <tr>
  78.      <td>Date</td>
  79.      <td>Day Shift</td>
  80.      <td>Night Shift</td>
  81.      </tr>
  82.      <?php
  83.      for ($i=$start;$i<=$end;$i++)
  84.      {
  85.         if ($content['a'][0]['state']=='open')
  86.         {
  87.            $content['b'][0]['state']='open';
  88.            $content['b'][1]['state']='open';
  89.            $content['a'][0]['state']='close';
  90.            $content['a'][1]['state']='close';
  91.         }
  92.         else
  93.         {
  94.            $content['a'][0]['state']='open';
  95.            $content['a'][1]['state']='open';
  96.            $content['b'][0]['state']='close';
  97.            $content['b'][1]['state']='close';
  98.         }
  99.  
  100.         if ($content['a'][0]['state']=='open')
  101.         {
  102.            if ($content['a'][0]['class']=='Night Shift')
  103.            {
  104.           $content['a'][0]['class']='Day Shift';
  105.           $content['a'][1]['class']='Night Shift';
  106.  
  107.            }
  108.            else
  109.            {
  110.           $content['a'][0]['class']='Night Shift';
  111.           $content['a'][1]['class']='Day Shift';
  112.            }
  113.         }
  114.  
  115.         if ($content['b'][0]['state']=='close')
  116.         {
  117.            if ($content['b'][0]['class']=='Night Shift')
  118.            {
  119.           $content['b'][0]['class']='Day Shift';
  120.           $content['b'][1]['class']='Night Shift';
  121.            }
  122.            else
  123.            {
  124.           $content['b'][0]['class']='Night Shift';
  125.           $content['b'][1]['class']='Day Shift';
  126.            }
  127.         }
  128.         $a=$start;
  129.         $date=date("Y-m").'-'.$a;
  130.         $a=$start++;
  131.         foreach($content as $key=>$value)
  132.         {
  133.            if ($value[0]['state']=='open')
  134.            {
  135.           echo '<tr>';
  136.           if ($value[0]['class']=='Day Shift')
  137.           {
  138.              echo '<td>'.$date.'</td>';
  139.              echo '<td>'.$value[0]['name'].'</td>';
  140.              echo '<td>'.$value[1]['name'].'</td>';
  141.           }
  142.           else
  143.           {
  144.              echo '<td>'.$date.'</td>';
  145.              echo '<td>'.$value[1]['name'].'</td>';
  146.              echo '<td>'.$value[0]['name'].'</td>';
  147.           }
  148.           echo '</tr>';
  149.            }
  150.         }
  151.      }
  152.    }
  153.    class_output();
  154. }
  155. ?>
  156. </body>
  157. </html>

我猜~这些文章你可能也感兴趣

总共有3个留言:

  1. 诗意地栖息在大地上 on 一 7th, 2009 - 08:51

    原来小桥是做技术的啊,呵呵,工作的事情搞定了?



    回复:不是技术的,打杂的~诗意最近咋样?

  2. longlan on 一 7th, 2009 - 13:24

    学习了。。。工作的事情搞定了不?大哥?



    回复:还是未知数,在等通知哦~谢谢你的关心哦longlan~

  3. 子曰 on 一 7th, 2009 - 15:21

    呵呵,学习了,看来工作搞定了?



    回复:谢谢子曰的关心哦~还在等通知!

给我留言:

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word