2016/04/26 流程 数据库lcdb 四个表 1,用户表users 2,流程表(设定有哪些流程)liucheng 3,流程发起者表(记录谁发起到哪里) 4,流程经过的人员表 flowpath (order排序)
流程: 十一 个页面
1,denglu.php(登录)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<h1>登录页面</h1>
<form action="chulidl.php" method="POST">
<div>用户名:<input type="text" name="uid" id="uid"></div>
<div>密码<input type="text" name="pwd" id="pwd"></div>
<input type="submit" value="登录"></input>
</form>
</body>
</html>
显示:
2,chulidl(处理登录) 登录成功进入main.php页
<?php
session_start(); include("../DBDA.php"); $db=new DBDA(); $uid=$_POST["uid"];
$pwd=$_POST["pwd"]; $sql="select count(*) from Users where UserName='{$uid}' and Password='{$pwd}' ";
$str=$db->StrQuery($sql,1,"lcdb"); if ($str=="1") {
$_SESSION["uid"]=$uid;
header("Location:main.php");
}
else{
header("Location:denglu.php");
} ?>
3,main.php(新建流程,发起流程,处理流程 三个条目)链接页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.menu
{
width:100px;
height:30px;
float:left;
text-align:center;
line-height:30px;
vertical-align:middle;
font-size:14px;
color:white;
}
</style>
</head> <body>
<h1>主页面</h1>
<div style="width:100%; height:30px; background-color:#6CF">
<div class="menu"><a href="xinjian.php">新建流程</a></div>
<div class="menu"><a href="faqi.php">发起流程</a></div>
<div class="menu"><a href="liuchenggenzong.php">流程处理</a></div>
</div>
</body>
</html>
显示:
4,xinjian.php(流程创建 节点人员 流程名称)
<?php
session_start();
?>
<!DOCTYPE html> <html lang="en">
<head>
<meta charset="UTF-8">
<title>首页</title>
<script type="text/javascript" src="../jquery-1.11.2.min.js"></script>
</head>
<body>
<h1>新建流程</h1>
<br>
<div>请选择节点人员:</div><br>
<div> <?php
include("../DBDA.php");
$db=new DBDA(); $sqlj="select * from Users"; $strj=$db->StrQuery($sqlj,1,"lcdb");
$hangj=explode("|", $strj); for ($i=0; $i <count($hangj) ; $i++) {
list($UserName,$Password,$Name)=explode("^", $hangj[$i]);
echo "<input type='radio' value='{$UserName}' class='ren' name='ren'>{$Name} ";
} ?>
</div><br>
<input type="button" value="添加节点" id="tian"></input><br><br>
<div id="biao">
<?php
if (isset($_SESSION["liuch"])) {
$attr=$_SESSION["liuch"]; for ($i=0; $i <count($attr) ; $i++) {
$sqlu="select Name from Users where UserName='{$attr[$i]}'";
$stru=$db->StrQuery($sqlu,1,"lcdb");
echo "<div class='jd' bs='{$attr[$i]}'>{$i}.{$stru} <input type='button' class='delete' bs='{$i}' value='删除'></div>";
}
}
else
{
echo "当前没有设置流程!";
} ?>
</div><br>
<div>输入流程名:
<input type="text" id="liuch"></input>
</div>
<br>
<input type="button" value="确定" id="add"></input> </body><br>
<script type="text/javascript">
$(document).ready(function(e){
//添加节点
$("#tian").click(function(){
var user=$(".ren");
for (var i = 0; i < user.length; i++) {
if (user.eq(i)[0].checked==true) { var uid=user.eq(i).val();
$.ajax({
url:"chulilc.php",
data:{uid:uid},
type:"POST",
dataType:"TEXT",
success:function(data){ window.location="xinjian.php";
}
});
}
}
})
$(".delete").click(function(){
var ids=$(this).attr("bs");
$.ajax({
url:"dechuli.php",
data:{ids:ids},
type:"POST",
dataType:"TEXT",
success:function(data){
window.location="xinjian.php";
}
})
})
//添加流程
$("#add").click(function(){
var name=$("#liuch").val(); $.ajax({
url:"addchuli.php",
data:{name:name},
type:"POST",
dataType:"TEXT",
success:function(data){
if (data="OK") {
alert("添加成功!");
window.location="main.php";
}
else{
alert("添加失败!");
}
}
})
})
});
</script>
</html>
显示:
5,chulilc.php(重点是value值传入session中 保存在数组里 ajax返回)
<?php
session_start(); $uid=$_POST["uid"]; if (isset($_SESSION["liuch"])) {
$shuzu=$_SESSION["liuch"];
array_push($shuzu,$uid);
$_SESSION["liuch"]=$shuzu;
}
else
{
$shuzu=array();
array_push($shuzu, $uid);
$_SESSION["liuch"]=$shuzu;
} ?>
6,addchuli.php(节点人员增加)
<?php
session_start();
include("../DBDA.php"); $db=new DBDA(); $name=$_POST["name"]; if (empty($_SESSION["liuch"])) {
echo "请添加节点人员!";
}
else
{
$attr=$_SESSION["liuch"];
$code=date("Ymdhisms",time()); $sqll="insert into liuCheng values ('{$code}','{$name}')"; if ($db->StrQuery($sqll,0,"lcdb"))
{ for ($i=0; $i <count($attr) ; $i++) {
$sql="insert into FlowPath values('','{$code}','{$attr[$i]}','{$i}')";
$db->StrQuery($sql,0,"lcdb");
} }
echo "添加成功!"; } ?>
7,dechuli.php(删除节点人员)
<?php
session_start();
$ids=$_POST["ids"]; $array=$_SESSION["liuch"]; unset($array[$ids]); //删除元素 $array=array_values($array); //重新索引 $_SESSION["liuch"]=$array; ?>
显示:
比上面少了张三
8,faqi.php(流程发起页面)
<?php
session_start(); ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>流程发起</title>
<script type="text/javascript" src="../jquery-1.11.2.min.js"></script>
</head>
<body>
<h1>发起流程</h1>
<div>请选择流程:
<select id="lc">
<?php
include("../DBDA.php");
$db=new DBDA(); $sql="select * from LiuCheng"; $str=$db->StrQuery($sql,1,"lcdb");
$hang=explode("|", $str);
for($i=0;$i<count($hang);$i++) {
list($code,$name)=explode("^", $hang[$i]); echo "<option value='{$code}'>{$name}</option>"; } ?>
</select>
</div><br> <div>
<div>请输入流程内容:</div><br>
<div><textarea id="neir" style="width: 400px; height: 300px;"></textarea></div>
</div><br> <input type="button" value="确定" id="btn"></input>
<a href="liuchenggenzong.php">处理页面</a>
</body>
<script type="text/javascript">
$(document).ready(function(e){
$("#btn").click(function(){
var lc=$("#lc").val(); var nr=$("#neir").val();
$.ajax({
url:"chulifq.php",
data:{lc:lc,nr:nr},
type:"POST",
dataType:"TEXT",
success:function(data){
if (data=="OK") {
alert("发起成功!")
}
else{
alert("发起失败!");
}
}
});
})
}); </script>
</html>
显示:
9,chulifq.php(处理发起页面)
<?php
session_start();
include("../DBDA.php"); $db=new DBDA();
$lc=$_POST["lc"];
$nr=$_POST["nr"]; $uid=$_SESSION["uid"];
//echo $uid;
$riqi=date("Y-m-d H:i:s",time()); $sqlf="insert into UserFlow values('','{$lc}','{$uid}','{$nr}',false,'{$riqi}',0)"; $str=$db->StrQuery($sqlf,0,"lcdb");
echo $str;
?>
10,liuchenggenzong.php(流程中各个节点人员审核的表格)
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>处理流程</h1>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>流程名称</td>
<td>发起者</td>
<td>内容</td>
<td>是否结束</td>
<td>发起日期</td>
<td>操作</td>
</tr>
<?php
$uid=$_SESSION["uid"];
include("../DBDA.php"); $db=new DBDA(); $sql="select * from userflow "; $str=$db->StrQuery($sql,1,"lcdb");
$hang=explode("|", $str); for ($i=0; $i < count($hang); $i++) {
list($ids,$code,$uids,$nr,$isok,$riqi,$towhere)=explode("^", $hang[$i]); //查流程里面所有的节点
$sqlj="select * from FlowPath where code='{$code}'";
$strj=$db->StrQuery($sqlj,1,"lcdb"); $hangj=explode("|",$strj); $bs=false;
$bscl=false;
for ($j=0; $j <count($hangj) ; $j++) {
list($idsj,$codej,$uidj,$orderj)=explode("^",$hangj[$j]);
if (($uidj==$uid)and($orderj<=$towhere)) {
if ($orderj==$towhere) {
$bscl=true; }
$bs=true;
} }
//处理流程名
$sqllc="select Name from LiuCheng where Code='{$code}'";
$lcname=$db->StrQuery($sqllc,1,"lcdb"); //处理发起者
$sqlfq="select Name from Users where UserName='{$uid}'";
$fqname=$db->StrQuery($sqlfq,1,"lcdb"); //处理是否结束
$jieguo=$isok?"<span style='background-color:red'>已结束</span>":"<span style='background-color:green'>进行中</span>"; //处理操作
$caozuo=$bscl?"<a href='tongguo.php?code={$ids}'>通过</a>":"<span style='background-color:gray'>已通过</span>";
if ($bs) {
echo "<tr>
<td>{$lcname}</td>
<td>{$fqname}</td>
<td>{$nr}</td>
<td>{$jieguo}</td>
<td>{$riqi}</td>
<td>{$caozuo}</td></tr>";
}
} ?>
</table> </body>
</html>
显示:
11,tongguo.php(处理 根据uid是否相等,以及order和towhere的相对大小来处理 是否显示)
<?php
include("../DBDA.php");
$db=new DBDA(); $code=$_GET["code"]; $sql="update UserFlow set ToWhere=ToWhere+1 where ids='{$code}'";
$db->StrQuery($sql,0,"lcdb"); $sqlt="select Code,ToWhere from UserFlow where Ids='{$code}'";
$strtw=$db->StrQuery($sqlt,1,"lcdb");
list($lccode,$tw)= explode("^",$strtw); //查询该流程下节点数量
$sqlf="select count(*) from FlowPath where code='{$lccode}'";
$zs=$db->StrQuery($sqlf,1,"lcdb");
//判断是否走完流程
if($tw>=$zs)
{
$sqlx="update userFlow set IsOK=true where Ids='{$code}'";
$db->StrQuery($sqlx,0,"lcdb");
} header("Location:liuchenggenzong.php"); ?>
2016/04/26 流程 数据库lcdb 四个表 1,用户表users 2,流程表(设定有哪些流程)liucheng 3,流程发起者表(记录谁发起到哪里) 4,流程经过的人员表 flowpath (order排序)的更多相关文章
- 2016/04/26 权限 数据库mydb2 五个表 分别是 1,用户 2,角色 3,权限 4,用户对应的角色 5,角色对应的权限
权限: 1,后台分配角色 角色对应权限 2,各用户通过登录页面登录 查看到各自的权限 五个页面 加引入一个jquery-1.11.2.min.js 1,guanli.php ...
- php部分---人员表和民族表的显示、修改、删除
1.连接数据库 进行网页的显示 <table width="100%" border="1" cellpadding="0" cell ...
- 2016.04.09 使用Powerdesigner进行创建数据库的概念模型并转为物理模型
2016-04-09 21:10:24 本文原创受版权保护,严禁转载. 请大家不要用于商业用途,支持正版,大家都是做软件的,知道开发一套软件实属不易啊! 今天看到了一个很有趣并且很有用的辅助 ...
- MySQL数据库(四)—— 记录相关操作之插入、更新、删除、查询(单表、多表)
一.插入数据(insert) 1. 插入完整数据(顺序插入) 语法一: INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n); # 后面的值必须与字段 ...
- 【数据库】MySQL数据库(四)
一.对数据的操作(详细版) 1.添加数据 1> insert into 表名 (字段1,字段2...) values (值1,值2...); 2> insert into 表名 (字段1, ...
- smarty模板做人员表信息删除,修改 里面的性别单选按钮民族下拉,另外登录进去可以显示姓名
首先登录进去可以显示姓名 smarty模板做人员表信息删除,删除的时候有提示框确定删除吗. 修改 里面的性别单选按钮,要修改谁有默认选中,用了变量调节器 民族位置做下拉,用<{foreach}& ...
- Understand:高效代码静态分析神器详解(一) | 墨香博客 http://www.codemx.cn/2016/04/30/Understand01/
Understand:高效代码静态分析神器详解(一) | 墨香博客 http://www.codemx.cn/2016/04/30/Understand01/ ===== 之前用Windows系统,一 ...
- http://stormzhang.com/opensource/2016/06/26/android-open-source-project-recommend1/
转载自:http://stormzhang.com/opensource/2016/06/26/android-open-source-project-recommend1/ 推荐他的所有博文~ 图片 ...
- 数据库操作事物的四大特性以及MySQL数据库的四种隔离级别
1 .事物操作数据库的四大特性(ACID) 1.原子性 (Atomicity) 原子性:就是事物的所包含的所有操作,要么全部成功,要么全部失败回滚. 2.一致性 (Consistency) 一致性:简 ...
随机推荐
- nginx的配置和基本使用命令
配置文件基本说明 配置文件位置:/usr/local/nginx/conf/nginx.conf #设置用户群,nobody代表低权限用户 #user nobody; #工作衍生进程数,通常代表CPU ...
- Python中 模块、包、库
模块:就是.py文件,里面定义了一些函数和变量,需要的时候就可以导入这些模块. 包:在模块之上的概念,为了方便管理而将文件进行打包.包目录下第一个文件便是 __init__.py,然后是一些模块文件和 ...
- GIL和copy
GIL: Global Interpreter Lock 全局解释器锁 多任务执行占CPU 多任务占用CPU的资源消耗:进程>线程>协程 在cpython解释器中只有进程是真的多任务,线程 ...
- solr中的Tokenizer Filter
Tokenizer Tokenizer 的工作是将文本流分解为令牌,其中每个令牌(通常)是文本中字符的子序列.分析器知道它配置的字段,但 tokenizer 不是.Tokenizers 从字符流(Re ...
- shiro配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 「BZOJ1537」Aut – The Bus(变形Dp+线段树/树状数组 最优值维护)
网格图给予我的第一反应就是一个状态 f[i][j] 表示走到第 (i,j) 这个位置的最大价值. 由于只能往下或往右走转移就变得显然了: f[i][j]=max{f[i-1][j], f[i][j-1 ...
- winfor应用程序打印报表清单
最近一周竟然有2位以前的同事问我在winfor应用程序里面打印怎么搞,所以才有了写这篇文章的打算,索性现在没事就写出来 在窗体上简单的布局设置一下如图 定义一个Model 我在里面放了属性之外还从写了 ...
- Haproxy配置文件详解
#/usr/local/sbin/haproxy -f /etc/haproxy/haproxy.cfg -st `cat /var/run/haproxy.pid` ################ ...
- jQuery中attr和prop方法的区别
jQuery中attr和prop方法的区别。 http://my.oschina.net/bosscheng/blog/125833 http://www.javascript100.com/?p=8 ...
- 零、常用的Mysql数据库操作语句大全
零.用户管理: 1.新建用户: >CREATE USER name IDENTIFIED BY 'ssapdrow'; 2.更改密码: >SET PASSWORD FOR name=PAS ...