• 技术文章 >后端开发 >php教程

    一个完整的php流程管理实例代码分享

    伊谢尔伦伊谢尔伦2017-06-22 14:27:11原创2303
    1. 添加新流程页面:

    <div>
    请选择流程节点:<br /><br />
    
    <?php
    session_start();
    include("../DBDA.class.php");
    $db = new DBDA();
    
    $suser ="select * from users";
    $auser = $db->Query($suser);
    
    foreach($auser as $v)
    {
        echo "<input class='rd' type='radio' name='user' value='{$v[0]}' /> {$v[2]} &nbsp;";
    }
    
    ?>
    
    </div>
    <br />
    <div><input type="button" value="添加节点" id="jiedian" /></div>
    <br />
    
    <div>
    <?php
    $attr = array();
    if(!empty($_SESSION["user"]))
    {
        $attr = $_SESSION["user"];
    }
    
    foreach($attr as $k=>$v)
    {
        $sname = "select name from users where uid='{$v}'";
        $name = $db->StrQuery($sname);
        
        echo "<div>{$k}--{$name}--<input type='button' value='删除' bs='{$k}' class='shanchu' /></div>";
    }
    
    ?>
    </div>
    <br />
    <div>
    请输入流程名称:
    <input type="text" id="name" />
    </div>
    <br />
    <input type="button" value="保存" id="xinjian" />
    
    
    <script type="text/javascript">
    $("#jiedian").click(function(){
        
            //取选中的用户名
            var uid ="";
            var rd = $(".rd");
            for(var i=0;i<rd.length;i++)
            {
                if(rd.eq(i).prop("checked"))
                {
                    uid = rd.eq(i).val();
                }
            }
            
            $.ajax({
                    url:"chuli.php",
                    data:{uid:uid,type:0},
                    type:"POST",
                    dataType:"TEXT",
                    success: function(data){
                        window.location.href="add.php";
                    }
                });
        
        })
        
    $(".shanchu").click(function(){
            var sy = $(this).attr("bs");
            $.ajax({
                    url:"chuli.php",
                    data:{sy:sy,type:1},
                    type:"POST",
                    dataType:"TEXT",
                    success: function(data){
                        window.location.href="add.php";
                    }
                });
        })
    $("#xinjian").click(function(){
            var name = $("#name").val();
            $.ajax({
                    url:"chuli.php",
                    data:{name:name,type:2},
                    type:"POST",
                    dataType:"TEXT",
                    success: function(data){
                        window.location.href="add.php";
                    }
                });
        })
    </script>

    2. 添加新流程(及其他)处理页面:

    <?php
    session_start();
    include("../DBDA.class.php");
    $db = new DBDA();
    
    $type = $_POST["type"];
    
    switch($type)
    {
        case 0:
            $uid = $_POST["uid"];
            if(empty($_SESSION["user"]))
            {
                $_SESSION["user"] = array($uid);
            }
            else
            {
                $attr = $_SESSION["user"];
                $attr[] = $uid;
                $_SESSION["user"] = $attr;
            }
            break;
        case 1:
            $sy = $_POST["sy"];
            $attr = $_SESSION["user"];
            unset($attr[$sy]);
            $attr = array_values($attr);
            $_SESSION["user"] = $attr;
            break;
        case 2:
            $name = $_POST["name"];
            $code = time();
            $slc = "insert into liucheng values('{$code}','{$name}')";                  //liucheng 名字 代号
            $db->Query($slc,0);
            
            $attr = array();
            if(!empty($_SESSION["user"]))
            {
                $attr = $_SESSION["user"];
            }
            
            foreach($attr as $k=>$v)
            {
                $sfp = "insert into flowpath values('','{$code}','{$v}','{$k}')";         //flowpath  流程具体经过哪些人
                $db->Query($sfp,0);
            }
            
            break;
        case 3:
            $code = $_POST["code"];
            $nr = $_POST["nr"];
            $uid = $_SESSION["uid"];
            $rq = time();
            $sql = "insert into userflow values('','{$code}','{$uid}','{$nr}',0,'{$rq}',0)";             //userflow 流程具体内容,名字,发起人
            $db->Query($sql,0);                                                                          //,内容,是否通过,事件,进行到哪一步
            break;
    }

    3. 登录后主页面:

    <a href="faqi.php">发起流程</a>
    
    <table width="100%" border="1" cellpadding="0" cellspacing="0">
        <tr>
            <td>发起者</td>
            <td>发起时间</td>
            <td>流程名称</td>
            <td>流程内容</td>
            <td>是否结束</td>
            <td>操作</td>
        </tr>
        <?php
        session_start();
        include("../DBDA.class.php");
        $db = new DBDA();
        
        $uid = $_SESSION["uid"];
        
        $sql = "select * from userflow";
        $attr = $db->Query($sql);
        
        foreach($attr as $v)
        {
            $v[1];//流程代号
            $v[6]; //流程走到哪了                                                                    
            
            //根据流程代号和当前登录者用户名查orders
            $szai="select count(*) from flowpath where code='{$v[1]}' and uids='{$uid}'";
            $n = $db->StrQuery($szai);
            
            //该人员在该流程下
            if($n>0)
            {
                $sorder = "select orders from flowpath where code='{$v[1]}' and uids='{$uid}'";
                $order = $db->StrQuery($sorder);
                
                if($v[6]>=$order)
                {
                    $str = "";
                    if($v[6]==$order)
                    {
                        $str = "<a href='tongguo.php?ids={$v[0]}'>通过</a>";
                    }
                    else
                    {
                        $str = "<span style='color:green'>已处理</span>";
                    }
                    echo "<tr><td>{$v[2]}</td>
            <td>{$v[5]}</td>
            <td>{$v[1]}</td>
            <td>{$v[3]}</td>
            <td>{$v[4]}</td>
            <td>{$str}</td></tr>";
                }
            }
        }
        
        ?>
        
    </table>

    4. 发起流程页面:

    <h1>发起流程</h1>
    <div>
    请选择要发起的流程:
        <select id="sel">
            <?php
            include("../DBDA.class.php");
            $db = new DBDA();
            $sql = "select * from liucheng";
            $attr = $db->Query($sql);
            foreach($attr as $v)
            {
                echo "<option value='{$v[0]}'>{$v[1]}</option>";
            }
            ?>
        </select>
    </div>
    
    <br />
    <div>
    请输入流程的详情:
    <textarea id="xq"></textarea>
    
    </div>
    
    <br />
    <input type="button" value="发起" id="btn" />
    
    <script type="text/javascript">
    $("#btn").click(function(){
            var code = $("#sel").val();
            var nr = $("#xq").val();
            $.ajax({
                    url:"chuli.php",
                    data:{code:code,nr:nr,type:3},
                    type:"POST",
                    dataType:"TEXT",
                    success: function(data){
                        window.location.href="main.php";
                    }
                });
        })
    </script>

    4. 判断发起的流程是否通过页面:

    <?php
    session_start();
    include("../DBDA.class.php");
    $db = new DBDA();
    
    $ids = $_GET["ids"];
    
    $sql = "update userflow set towhere = towhere+1 where ids='{$ids}'";
    
    $db->Query($sql,0);
    
    $stw = "select code,towhere from userflow where ids='{$ids}'";
    $atw = $db->Query($stw);
    
    $lcdaihao = $atw[0][0];
    $towhere = $atw[0][1];
    
    $jiedian = "select count(*) from flowpath where code='{$lcdaihao}'";
    $shuliang = $db->StrQuery($jiedian);
    
    if($towhere>=$shuliang)
    {
        $su = "update userflow set isok =1 where ids='{$ids}' ";
        $db->Query($su,0);
    }
    
    
    header("location:main.php");

    php入门到就业线上直播课:查看学习

    以上就是一个完整的php流程管理实例代码分享的详细内容,更多请关注php中文网其它相关文章!

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

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:关于php流程管理的全套流程讲解 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 你知道如何用PHP实现多进程吗• PHP与MySQL连接的方法总结• 工具包分享:PHP实现滑块验证图片• 针对初学PHP者的疑难问答_PHP• 求大神解答!ajax处理php返回的xml文档的问题
    1/1

    PHP中文网