首页 > 代码库 > php-流程管理(发起流程和审核流程)
php-流程管理(发起流程和审核流程)
上一篇博文是新建流程,此篇是流程管理的后续内容:发起流程和审核流程
一. 发起流程和审核流程需要用到的三张表
二.写代码
1. 用ajax做了一个登录页面,用session获取用户名:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="http://www.mamicode.com/jquery-3.2.0.min.js"></script> <title>无标题文档</title> </head> <body> <h1>登录页面</h1> <form action="dlchuli.php" method="post"> <div>用户名:<input type="text" id="uid" /></div> <div>密码:<input type="password" id="pwd" /></div> <input type="button" value="http://www.mamicode.com/登录" id="btn" /> </form> </body> <script type="text/javascript"> //!!!用ajax之前一定先引用jqery $("#btn").click(function(){ //对登录按钮添加单击事件 var uid=$("#uid").val(); //获取用户的值 var pwd=$("#pwd").val(); //获取密码的值 $.ajax({ url:"dlchuli.php", //编写登录的处理页面 data:{uid:uid,pwd:pwd}, //将用户和密码传到处理页面 type:"POST", dataType:"TEXT", success: function(data) { if(data.trim()=="OK") { window.location.href="http://www.mamicode.com/main.php"; //处理页面执行成功后,跳转到主页面 } else { alert("用户名或密码输入错误"); //否则就提示错误 } } }) }) </script> </html>
2.登录界面的处理页面 dlchuli.php
<?php session_start(); require "../DBDA.class.php"; $db = new DBDA(); //造新对象 //传过来的值 $uid = $_POST["uid"]; $pwd = $_POST["pwd"]; //查询语句 $sql = " select pwd from users where uid=‘{$uid}‘ and pwd=‘{$pwd}‘"; //执行语句 $attr = $db->query($sql,1); if(!empty($pwd) && !empty($attr) && $attr[0][0]==$pwd) { $_SESSION["uid"] =$uid; //session接收用户值 echo "OK"; } else { echo "NO"; }
3.主页面 main.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <h1>主页面</h1> <div><a href="http://www.mamicode.com/faqi.php">发起流程</a> <a href="http://www.mamicode.com/shenhe.php">审核流程</a></div> </body> </html>
4.发起流程页面 faqi.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <h1>发起流程</h1> <form action="fqchuli.php" method="post"> <div>请选择发起的流程: <select name="lc"> <?php require "../DBDA.class.php"; $db = new DBDA(); $sql = "select * from liucheng"; $arr = $db->query($sql,1); foreach($arr as $v) { echo "<option value=http://www.mamicode.com/‘{$v[0]}‘>{$v[1]}"; } ?> </select> </div> <br /> <div> 请输入发起的内容:<textarea name="nr"></textarea> </div> <br /> <input type="submit" value="http://www.mamicode.com/发起" /> </form> </body> </html>
5.发起流程处理页面 fqchuli.php
<?php session_start(); require "../DBDA.class.php"; $db = new DBDA(); $code =$_POST["lc"]; $nr =$_POST["nr"]; $uid = $_SESSION["uid"]; $time =date("Y-m-d H:i:s"); $sql = "insert into userflow values(‘‘,‘{$code}‘,‘{$uid}‘,‘{$nr}‘,0,‘{$time}‘,0)"; $db->query($sql); header("location:main.php");
点击“发起”,数据库中就会添加此条数据
6.流程审核页面 shenhe.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <h1>流程审核页面</h1> <?php session_start(); $uid = $_SESSION["uid"]; require "../DBDA.class.php"; $db = new DBDA(); $sql = "select * from userflow a where code in(select code from flowpath where uids=‘{$uid}‘)
and towhere >=(select orders from flowpath b where b.code=a.code and b.uids=‘{$uid}‘ )" ; $arr = $db->query($sql,1); echo "<table width=‘100%‘ border=‘1‘ 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=http://www.mamicode.com/‘tongguo.php?code={$v[0]}‘>通过"; $sql = "select orders from flowpath where code=‘{$v[1]}‘ and uids=‘{$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>"; ?> </body> </html>
7.写审核处理页面 tongguo.php(*)
<?php $ids = $_GET["code"]; require "../DBDA.class.php"; $db = new DBDA(); //让流程往下走,每审核通过一个,对应towhere字段要加1 $sql = "update userflow set towhere = towhere+1 where ids=‘{$ids}‘"; $db->query($sql); //判断流程是否结束 $sql = "select max(orders) from flowpath 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) { //如果结束了,修改状态 ;审核到最后时,对应的isok字段要变为1(此处1表示结束,0表示未结束) $sql = "update userflow set isok = 1 where ids=‘{$ids}‘"; $db->query($sql); } header("location:shenhe.php");
当写好这一步时,点击“通过”则会变成“已通过”;
zhangsan是第一个审核人,从zhangsan开始依次审核
niuniu是最后一个审核人,结束显示1
END
php-流程管理(发起流程和审核流程)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。