用php+ajax新建流程(请假、进货、出货等)

对管理者来说,电脑操作的请假流程要比人工请假流程的效率高出很多,那么如何新建这个流程呢?

首先:需要明确需要操作哪些流程?

其次:每一个流程需要那些人员来执行?

最后:执行该流程人员的顺序是什么?

第一步:需要三张表,分别是:user表;liucheng表;liuchengjiedian表(后两张还未添加内容)

第二步:将users表中的内容用下拉列表读出:

 <div id="top">
<p>请选择节点人员:</p>
<select id="user">
<?php
require "../DB.class.php";
$db = new DB();
$sql = "select * from users";
$arr = $db->query($sql);
foreach ($arr as $v){
 echo "<option value='{$v[0]}'>{$v[2]}</option>";
}
?>
</select>
<input type="button" value="确定添加"/>
</div> 

  实现效果:

第三步:点击“确定添加”,将选的人员添加到session中

(1)先将jquery包引入

<script src="../jquery-1.11.2.min.js"></script> 

(2)ajax代码

<script type="text/javascript">
 //用session 存取选择的值
 $("#add").click(function(){
   var uid = $("#user").val();
   //  alert(uid);
   $.ajax({
    url:"add-cl.php",
    data:{uid:uid},
    type:"POST",
    dataType:"TEXT",
    success:function(data){
     window.location.href="main.php" rel="external nofollow" rel="external nofollow" ;
    }
   });
 })
</script> 

(3)add-cl.php页面

<?php
 //开启session
 session_start();
 //取值
 $uid=$_POST["uid"];
 //如果session为空,造一个数组,将取到的值添加进去
 if(empty($_SESSION["jiedian"])){
  $arr = array($uid);
  $_SESSION["jiedian"] = $arr;
 }
 //如果不为空,将取到的值追加进去
 else
 {
  $arr = $_SESSION["jiedian"];
  $arr[]=$uid;
  $_SESSION["jiedian"] = $arr;
 }
?> 

  第四步:将选中的人员列出来

(1)先判断是否取到session的值

<?php
    session_start();
    if(empty($_SESSION["jiedian"])){
      echo "尚未选择节点人员!";
    } 

(2)取到session 后

else
    {
     $arr = $_SESSION["jiedian"];
     foreach($arr as $k=>$v)
     {
      $sql = "select name from users where uid='{$v}'";
      $name = $db->strquery($sql);
      echo "<div>{$k}--{$name}--<input type ='button' value='移除' class='yichu' code='{$k}'> <div>";
     }
    }
   ?> 

(3)给“移除”按钮添加点击事件

ajax页面:

$(".yichu").click(function(){
  var code = $(this).attr("code");
  $.ajax({
    url:"yichu-cl.php",
    data:{code:code},
    type:"POST",
    dataType:"TEXT",
    success:function(data){
     window.location.href="main.php" rel="external nofollow" rel="external nofollow" ;
    }
   });
 }) 

yichu-cl.php页面:

<?php
session_start();
$code = $_POST["code"];
$arr = $_SESSION["jiedian"];
//从数组中删除code这一项
unset($arr[$code]);
//将索引重新排列
$arr = array_values($arr);
$_SESSION["jiedian"] = $arr;
?> 

 点击移除王五:则会剩余张三和周六,且code重新排列

最后一步:添加保存按钮,将数据添加到数据库

注意:在此之前所有的数据都是存在于session中

(1)添加流程名称输入框和保存按钮

<div id="btm">
    请输入流程名称:
   <input type="text" class="name" />
   <input type="button" value="保存" class="baocun" />
   </div> 

(2)点击保存按钮,将所有信息存入数据库

ajax代码

$(".baocun").click(function(){
  var name = $(".name").val();
//  alert(name);
  $.ajax({
    url:"baocun-cl.php",
    data:{name:name},
    type:"POST",
    dataType:"TEXT",
    success:function(data){
     alert("保存成功!");
    }
   });
 }) 

baocun-cl.php页面

<?php
session_start();
require "../DB.class.php";
$db = new DB();
//将数据写进liucheng表
$name = $_POST["name"];
$code=time();//用时间戳来生成code
$sql = "insert into liucheng values('{$code}','{$name}')";
$db->query($sql,0);
//将数据写入liucehngjiedian表
$arr = $_SESSION["jiedian"];
foreach($arr as $k=>$v)
{
 $sql = "insert into liuchengjiedian values ('','{$code}','{$v}','{$k}')";
 $db->query($sql,0);
}
?>

  实现效果以及写入数据库的数据:

到这一步就能实现整个的刘新建流程步骤了,后期可以将界面再美化一点 ~~~~

总结:每一步的处理页面都比较重要;sessoin存取数据;unsettle()移除数组;array_values()将数组重新排列等~~~

(0)

相关推荐

  • php+ajax发起流程和审核流程(以请假为例)

    上一篇随笔中已经提到如何新建流程,那么现在我们就来看一下如何发起一个流程和审核流程~~~ 先说一下思路: (1)登录用session获取到用户的id (2) 用户发起一个流程 注意:需要写申请事由 (3)处于节点的审核人去依次审核 注意:每审核通过一个,对应towhere字段要加1: 审核到最后时,对应的isok字段要变为1(此处1表示结束,0表示未结束) 共用到三张表: 第一步:先做一个简单的登录页面,用session获取用户名: denglu.php页面 <!DOCTYPE html> &

  • 利用ajax和PHP实现简单的流程管理

    本文实例为大家分享了ajax和PHP实现简单的流程管理,供大家参考,具体内容如下 首先要先有一个新建流程的页面xinjian.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/1

  • 用php+ajax新建流程(请假、进货、出货等)

    对管理者来说,电脑操作的请假流程要比人工请假流程的效率高出很多,那么如何新建这个流程呢? 首先:需要明确需要操作哪些流程? 其次:每一个流程需要那些人员来执行? 最后:执行该流程人员的顺序是什么? 第一步:需要三张表,分别是:user表:liucheng表:liuchengjiedian表(后两张还未添加内容) 第二步:将users表中的内容用下拉列表读出: <div id="top"> <p>请选择节点人员:</p> <select id=&

  • 原生js中ajax访问的实例详解

    原生js中ajax访问的实例详解 form表单中 登录名: 失去光标即触发事件 function createXmlHttp() { var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp = new XMLHttpRequest(); } catch (e) { try {// Internet Explorer xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (

  • Asp.Net Mvc2 OA 工作流设计思路[图]

    回老家上班的新公司,第一个项目:OA.以前没有做过OA,因为设计到工作流这一块的东西,所以自己去进行了相关的了解,于是有了这篇博客(以下文字只是个人理解,高手漂过).环境:MVC2+SQL2008 工作流分为几个步骤:表单(设计.解析).流程(设计).合并就是一个完整的工作流.先上个一个图: 第一步:表单 因为没有使用图形化设计表单,所以我们的思路是强制定义表单格式,后台解析.如图: 上图的HTML是强制定义的,像table>tbody>tr>td必须按照这个格式定义,虽然不灵活,但是功

  • 如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙

    1. 引言 在上一篇文章<如何确保JavaScript的执行顺序 - 之jQuery.html深度分析>中,我们揭示了jQuery.html函数之所以能在各种浏览器下保持动态JS顺序执行,其秘密在于 – 同步AJAX获取外部JavaScript. 我们先来简单回顾下HTML源代码(test2.htm): 复制代码 代码如下: <html> <head> <title></title> <script src="js/jquery-

  • php单文件版在线代码编辑器

    密码加密方式:  * md5(自设密码+$ace) //$ace为cdn镜像地址 使用方法: * 1.确认 $pwd 变量值为 false, 上传本文件到PHP空间并访问  * 2.第一次访问提示设置密码,设置密码并牢记  * 3.使用第一次设置的密码登录后,默认编辑的是本php文件,  * 4.本文件是编辑器核心文件,请不要随意修改  * 5.保存编辑的文件请用 Ctrl + S 按键组合,等待执行结果  * 6.保存动作执行后请务必等待保存成功信息返回  * 7.重置操作会修改本程序的文件名

  • Springboot集成activity过程图解

    1.第一步添加bpmn文件得插件,不然没法查看和编辑bpmn文件,添加插件的方法各自百度即可,很简单 2.安装好bpmn插件后开始新建bpmn文件,也就是画流程图 一般是在代码中进行指定流程审批人的,我这里只做入门案例 3.添加pom依赖 这里包含了在线设计流程图的相关依赖,在下一篇会写出来,项目中一般都是在前端在线设计:所以直接放上去也没事 <?xml version="1.0" encoding="UTF-8"?> <project xmlns

  • Jenkins编译.NET Core、.NET Framework项目并远程部署到IIS

    目录 Windows 安装 Git WebDeploy Windows 从节点 .NET Core 处理 IIS 处理项目 Jenkinsfile .NET Framework 安装环境 .NET Framework SDK MSBuild Nuget 配置项目 前后端分类方案 Windows 我们先在 Windows 上安装好相应的环境. Jenkins 依赖于 JDK 11,请自行查找方法安装. 在 https://www.jenkins.io/download/ 中可以下载到 Window

  • 使用compose函数优化代码提高可读性及扩展性

    目录 前言 场景说明 需求更新 需求再更新 需求再再更新 compose 函数 composePromise 逐渐美丽起来 阶段总结 前言 本瓜知道前不久写的<JS 如何函数式编程>系列各位可能并不感冒,因为一切理论的东西如果脱离实战的话,那就将毫无意义. 于是乎,本瓜着手于实际工作开发,尝试应用函数式编程的一些思想. 最终惊人的发现:这个实现过程并不难,但是效果却不小! 实现思路:借助 compose 函数对连续的异步过程进行组装,不同的组合方式实现不同的业务流程. 这样不仅提高了代码的可读

随机推荐