Heim > Backend-Entwicklung > PHP-Tutorial > Ein vollständiges PHP-Prozessmanagement-Beispiel für die Codefreigabe

Ein vollständiges PHP-Prozessmanagement-Beispiel für die Codefreigabe

伊谢尔伦
Freigeben: 2023-03-11 06:52:01
Original
3077 Leute haben es durchsucht

1. Eine neue Prozessseite hinzufügen:

<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=&#39;rd&#39; type=&#39;radio&#39; name=&#39;user&#39; value=&#39;{$v[0]}&#39; /> {$v[2]}  ";
}

?>

</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=&#39;{$v}&#39;";
    $name = $db->StrQuery($sname);
    
    echo "<div>{$k}--{$name}--<input type=&#39;button&#39; value=&#39;删除&#39; bs=&#39;{$k}&#39; class=&#39;shanchu&#39; /></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>
Nach dem Login kopieren

2. Eine neue Prozess- (und andere) Verarbeitungsseite hinzufügen:

<?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(&#39;{$code}&#39;,&#39;{$name}&#39;)";                  //liucheng 名字 代号
        $db->Query($slc,0);
        
        $attr = array();
        if(!empty($_SESSION["user"]))
        {
            $attr = $_SESSION["user"];
        }
        
        foreach($attr as $k=>$v)
        {
            $sfp = "insert into flowpath values(&#39;&#39;,&#39;{$code}&#39;,&#39;{$v}&#39;,&#39;{$k}&#39;)";         //flowpath  流程具体经过哪些人
            $db->Query($sfp,0);
        }
        
        break;
    case 3:
        $code = $_POST["code"];
        $nr = $_POST["nr"];
        $uid = $_SESSION["uid"];
        $rq = time();
        $sql = "insert into userflow values(&#39;&#39;,&#39;{$code}&#39;,&#39;{$uid}&#39;,&#39;{$nr}&#39;,0,&#39;{$rq}&#39;,0)";             //userflow 流程具体内容,名字,发起人
        $db->Query($sql,0);                                                                          //,内容,是否通过,事件,进行到哪一步
        break;
}
Nach dem Login kopieren

3. Nach dem Anmelden Hauptseite:

<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=&#39;{$v[1]}&#39; and uids=&#39;{$uid}&#39;";
        $n = $db->StrQuery($szai);
        
        //该人员在该流程下
        if($n>0)
        {
            $sorder = "select orders from flowpath where code=&#39;{$v[1]}&#39; and uids=&#39;{$uid}&#39;";
            $order = $db->StrQuery($sorder);
            
            if($v[6]>=$order)
            {
                $str = "";
                if($v[6]==$order)
                {
                    $str = "<a href=&#39;tongguo.php?ids={$v[0]}&#39;>通过</a>";
                }
                else
                {
                    $str = "<span style=&#39;color:green&#39;>已处理</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>
Nach dem Login kopieren

4. Seite „Prozess einleiten“:

<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=&#39;{$v[0]}&#39;>{$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>
Nach dem Login kopieren

4. Bestimmen Sie, ob der initiierte Prozess die Seite passiert:

<?php
session_start();
include("../DBDA.class.php");
$db = new DBDA();

$ids = $_GET["ids"];

$sql = "update userflow set towhere = towhere+1 where ids=&#39;{$ids}&#39;";

$db->Query($sql,0);

$stw = "select code,towhere from userflow where ids=&#39;{$ids}&#39;";
$atw = $db->Query($stw);

$lcdaihao = $atw[0][0];
$towhere = $atw[0][1];

$jiedian = "select count(*) from flowpath where code=&#39;{$lcdaihao}&#39;";
$shuliang = $db->StrQuery($jiedian);

if($towhere>=$shuliang)
{
    $su = "update userflow set isok =1 where ids=&#39;{$ids}&#39; ";
    $db->Query($su,0);
}


header("location:main.php");
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonEin vollständiges PHP-Prozessmanagement-Beispiel für die Codefreigabe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage