在php常用流程中在前面写到有一个审核人员的表
在这里就用到了
一、新建流程页面在php常用流程中已经结束了,那么就是用户登录页面了,这个页面写了很多遍了。
<form action="dlchuli.php" method="post"> <div>用户名:<input type="text" name="uid" /></div> <div>密码:<input type="password" name="pwd" /></div> <input type="submit" value="登录" /> </form>
处理页面
<?php session_start(); $uid=$_POST["uid"]; $pwd=$_POST["pwd"]; require "../DBDA.class.php"; $db=new DBDA(); $sql="select pwd from users where uid='{$uid}'"; $mm=$db->StrQuery($sql); if($mm=$pwd && !empty($pwd)) { $_SESSION["uid"]=$uid; header("location:main.php"); } else { echo "登录失败!"; }
二、节点用户的审核处理界面了(对于这个审核界面有很多需要注意的地方)
(1)登录成功界面的显示部分:并不是每个人登录成功界面是一样的,还有就是如果这个人员不参与审核的话,也应该是没有信息的才对
想要显示的表头,也就是一行:我们可以用表来显示
<?php session_start(); $uid = $_SESSION["uid"]; require "../DBDA.class.php"; $db=new DBDA(); $sql="select * from userflow a where code in(select code from jiedian where uid='{$uid}' and towhere >=(select orders from jiedian b where b.code=a.code and b.uid='{$uid}'))"; $arr=$db->query($sql); echo "<table width='100%' border='1px' cellpadding='0' cellspacing='0'> <tr> <td>流程代号</td> <td>发起者</td> <td>发起内容</td> <td>是否结束</td> <td>发起时间</td> <td>操作</td> </tr>"; foreach($arr as $v) { $zt="<a href='tongguo.php?code={$v[0]}'>通过</a>"; $sql="select orders from jiedian where code='{$v[1]}' and uid='{$uid}'"; $wz=$db->StrQuery($sql); if($v[6]>$wz)//这里是分级上传的只有上一级通过后传到下一级,下一级才能查看审核,如果上一级没有通过审核那么下一级是不能看到审核的。 { $zt = "<span style='color:green'>已通过</span>"; } echo "<tr> <td>{$v[1]}</td> <td>{$v[2]}</td> <td>{$v[3]}</td> <td>{$v[4]}</td> <td>{$v[5]}</td> <td>{$zt}</td> </tr>"; } echo "</table>"; ?>
(2)接下来就是用户这是不是和流程有关系?流程走到哪了(分情况)?还有就是有没有通过
<?php $ids = $_GET["code"]; echo "{$ids}"; require "../DBDA.class.php"; $db = new DBDA(); //让流程往下走 $sql = "update userflow set towhere = towhere+1 where ids='{$ids}'"; $db->query($sql,0); //判断流程是否结束 $sql = "select max(orders) from jiedian where code =(select code from userflow where ids='{$ids}')"; $maxsx = $db->StrQuery($sql); $sql = "select towhere from userflow where ids='{$ids}'"; $towhere = $db->StrQuery($sql); if($towhere>$maxsx) { //如果结束了,修改状态 $sql = "update userflow set isok = 1 where ids='{$ids}'"; $db->query($sql,0); } header("location:shenhe.php");
因为还没有写发起流程界面,那么先从数据库中添加几条数据看看:
(1)我们先要新建个流程,这是第一个页面,我们就用新建流程
根据这些我们在流程表中自己先添加信息吧,等后来再通过发起流程添加,现在只看下效果
登录审核人员的账号看下:
第一个人是李四:
我们点击通过,继续往下走
第二个人是张豹,我们不点通过,看下下一个人员(牛牛)有没有这个通过的操作:是没有这个操作的
我们让张豹通过审核,再看下牛牛的界面
牛牛的界面就是: 就发现有了这个操作,继续下去,我们看下最后这个通过会不会变成1
最后审核人员小雪
看下结果是否会结束:
再看下数据库中towhere中的数值是不是已经结束了:已经结束了。