基于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 Comments

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



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

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



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

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



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