0

0

PHP之流程的控制代码详解(图文)

黄舟

黄舟

发布时间:2017-03-24 10:18:33

|

2584人浏览过

|

来源于php中文网

原创

   在一个公司中,员工肯定会有高层、中层和普通员工的,这样如果在某个公司员工遇到某种问题,需要请假、或者提一些请求的时候,就会需要去申请,申请的时候有的是可以直接和上级申请的,有时比较重要的事情,是要经过层层申请,才可以得到解决的,这就会让我们想到了流程,今天写的就是一个简单的流程控制,设计的表中人员可能比较不那么精确,但是逻辑是一样的。

   这里我是在数据库中设计了四张表格的,分别是 users flowpath liucheng  userflow

 

  上面显示的就是我所用到的四张表格,现在要做的就是把员工的姓名都显示出来,可供选择到底要经过哪几个人的同意才可以把这件事做成,再就是 还要输入我们所要申请的事情,最后就是保存上交,让上级同意才可以

立即学习PHP免费学习笔记(深入)”;

  首先我要建主页main.php 把我所需要的内容显示出来 ,然后再把里面的按钮功能显示出来即可,如果是比较简单的内容我就直接内嵌php了,其他的选用的是ajax来调用,看起来可能会比较清晰一些 ps:这当然是自我感觉了 哈哈哈

 毫无疑问,肯定会用到jquery  所以需要先调用jquery包

 主页最开始还是要把员工的姓名都显示出来 这样方便选择节点人物 我用的是内嵌php的方法,这一步是最基础的,肯定都会看明白,这里就不详细描述了

选择节点人员


接下来是添加节点的按钮了

既然按钮已经有了,随后我们就会想到的是按钮的功能:就是要把上面选择的节点人员添加到按钮下方

//添加节点点击事件

    $("#jd").click(function(){
        var uid = $("#user").val();   //点击添加节点,是要把select里面的value值添加过来,那么我们就要先取出它的value值
        $.ajax({
            url:"chuli.php",
            data:{uid:uid},
            type:"POST",
            dataType:"TEXT",
            success: function(data){
                window.location.href="main.php"; //刷新页面即可
            }
        });
    })

   处理页面就是类似于添加购物车的功能,首先我们会想到现在节点里面有内容吗,如果没有的话,我们需要先建一个数组,然后再把现有的内容用session存一下


PHP 网络编程技术与实例(曹衍龙)
PHP 网络编程技术与实例(曹衍龙)

PHP网络编程技术详解由浅入深,全面、系统地介绍了PHP开发技术,并提供了大量实例,供读者实战演练。另外,笔者专门为本书录制了相应的配套教学视频,以帮助读者更好地学习本书内容。这些视频和书中的实例源代码一起收录于配书光盘中。本书共分4篇。第1篇是PHP准备篇,介绍了PHP的优势、开发环境及安装;第2篇是PHP基础篇,介绍了PHP中的常量与变量、运算符与表达式、流程控制以及函数;第3篇是进阶篇,介绍

下载

   处理页面写好之后,再回到要添加节点的地方,这时如果节点不为空的话,我们就要把添加的节点显示出来,如果为空就什么也不显示了(这里可以不用考虑),

$v)
    {
        $sname = "select name from users where uid='{$v}'";
        $name = $db->StrQuery($sname);
        echo "
{$k}--{$name}--
"; //这里运用索引会比较简单一些,索引我们的可以 用的是索引$k } } ?>

如图所示,就是点击添加节点后的效果呢,看到删除按钮了,那么接下来就是点击删除按钮的方法了,这里我用的同样还是ajax

//删除节点的点击事件
    $(".del").click(function(){
        var key=$(this).attr("key"); //删除里面取key值写起来是非常方便的
        $.ajax({
            url:"shanchu.php",
            data:{key:key},
            type:"POST",
            dataType:"TEXT",
            success:function(aa)
            {
                window.location.href="main.php";
            }
        })
    })

下面是删除页面的代码:

 删除就写完了,点击删除就可以把添加的某条内容删除,然后我们就要考虑content了 输入流程名称 最后把添加的节点和写入的流程名称都保存

请输入流程名称:
2
3
//保存按钮的点击事件
   $("#btn").click(function(){
        var nr=$("#nr").val();  
        $.ajax({
            url:"baocun.php",
            data:{nr:nr},
            type:"POST",
            dataType:"TEXT",
            success:function(bc){
                alert("保存成功");

            }

        })
    })
Query($sql,0);

//在liucheng表中添加完之后还要保存节点  节点是在flowpath表中的

$arr = $_SESSION["user"];
foreach($arr as $k=>$v)
{
    $sqn="insert into flowpath VALUES ('','{$code}','{$v}','{$k}')";
    $db->Query($sqn,0);
}

  写到这里就可以保存了,点击保存后,进数据库刷新就会显示出你所保存的内容了

  申请提交后,我们就会去考虑,这个申请由谁来审核呢,那就涉及到需要上级登录后是否给通过了,因为登录之前已经写过很多次了,我这里就不再写了,用简单的一个伪登录就可以了



现在我们就要发起流程了

请选择发起的流程


看到发起的按钮,本能的就会想到要给发起按钮一个点击事件,那么有点击事件就会有处理页面 我们用到的是chuli1.php 就是为了给userflow表添加内容

Query($sql,0);

发起完成之后就要进入审核页面了

审核页面

Query($sql); //显示在页面 foreach($arr as $v) { $dh=$v[1];//查出代号 $where=$v[6]; //查出流程到哪里了 $sqn="select orders from flowpath where code='{$dh}' and uids='{$uid}'"; $orders=$db->StrQuery($sqn);//查出在流程中的次序 if($where>=$orders) { $caozuo = ""; if($where==$orders) { $caozuo="通过"; } else { $caozuo="已通过"; } echo ""; } } ?>
流程代号 发起者 发起内容 是否结束 发起时间 操作
{$v[1]} {$v[2]} {$v[3]} {$v[4]} {$v[5]} {$caozuo}

下面就是通过页面了,

Query($sql,0);

//判断流程是否结束
$sql = "select * from userflow where ids='{$code}'";
$arr = $db->Query($sql);

$lcdh = $arr[0][1]; //流程代号
$tw = $arr[0][6]; //流程走到哪

$sql = "select count(*) from flowpath where code='{$lcdh}'";
$count = $db->StrQuery($sql); //该流程节点人数
if($tw>=$count)
{
    $sql = "update userflow set isok=1 where ids='{$code}'";
    $db->Query($sql,0);
}


header("location:shenhe.php");

要注意的是:如果用伪登录,那么要先运行一下,然后再运行其他页面,不然uid是取不到的

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

4

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

7

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

42

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

4

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

3

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

3

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.1万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号