php+ajax发起流程和审核流程(以请假为例) 上一篇随笔中已经提到如何新建流程,那么现在我们就来看一下如何发起一个流程和审核流程~~~ 先说一下思路: (1)登录用session获取到用户的id (2) 用户发起一个流程 注意:需要写申请事由 (3)处于节点的审核人去依次审核 注意:每审核通过一个,对应towhere字段要加1; 审核到最后时,对应的isok字段要变为1(此处1表示结束,0表示未结束) 共用到三张表: 第一步:先做一个简单的登录页面,用session获取用户名: denglu.php页面
用户名:
密码:
  denglu-cl.php页面 strquery($sql); if($pwd==$mm && !empty($pwd)) { $_SESSION["uid"]=$uid; header("location:liucheng.php"); } else { echo "密码或登录名输入错误"; } ?>   效果图: 第二步:做个简单的注页面:liucheng.php

主页面

发起流程
审核流程
效果图: 第三步:发起流程页面faqi.php (1)先将所有流程用下拉列表显示 (2)发起流程事由需要由登录用户填写

发起流程页面


发起流程事由:
第四步:写发起流程的处理页面fq-cl.php query($sql,0); header("location:liucheng.php"); ?>   点击“确认发起”,数据库中就会添加此条数据 第五步:流程审核页面shenhe.php 用到知识点:子查询:无关子查询(子查询和父查询可以独立执行); 相关子查询(子查询里的条件使用到了父查询的某个东西 )

流程审核页面

=(select orders from liuchengjiedian b where b.code = a.code and b.uids = '{$uid}')"; $arr = $db->query($sql); //var_dump($arr); echo ""; foreach($arr as $v){ //操作最后一列 //设置默认项 $zt = "审核未通过"; $sql = "select orders from liuchengjiedian where code ='{$v[1]}' and uids ='{$uid}'"; $wz = $db->strquery($sql); if($v[6]>$wz) { $zt = "审核已通过"; } echo ""; } echo "
流程代号 发起者 发起内容 发起时间 是否结束 操作
{$v[1]} {$v[2]} {$v[3]} {$v[4]} {$v[5]} {$zt}
"; ?>
  第六步:写tongguo-cl.php页面(重要) query($sql,0); //当流程走到最后一个审核的人时,流程要结束 //获取该流程最大的orders $sql =" select max(orders) from liuchengjiedian where code = (select code from liuchengpath where ids ='{$ids}')"; $maxorders = $db->strquery($sql); //获取该用户处于哪个位置,也就是towhere等于多少 $sql ="select towhere from liuchengpath where ids ='{$ids}'"; $towhere = $db->strquery($sql); //判断是否已到达最后一个审核的人 if($towhere>$maxorders) { $sql = "update liuchengpath set isok=1 where ids='{$ids}'"; // var_dump($sql); $db->query($sql,0); } header("location:shenhe.php"); ?>   当写好这一步时,点击“审核未通过”则会变成“审核已通过”; 我们从头来验证一下效果: 首先:发起一个新的请假流程: 其次:zhangsan是第一个要审核人 点击“审核未通过后“, 最后:zhaoliu是最后一个审核人 点击“审核未通过”后,是否结束变为 1 ;操作变为绿色的 “审核已通过”~~~ 以上所述是小编给大家介绍的php+ajax发起流程和审核流程(以请假为例),希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!