首頁 > 後端開發 > php教程 > php-流程管理(php+Ajax)

php-流程管理(php+Ajax)

大家讲道理
發布: 2023-03-07 22:36:01
原創
1814 人瀏覽過

php+AJAX新流程

1:需要明確需要操作哪些流程?

2:每一個流程都需要那些人員來執行?

3:執行該流程人員的順序是什麼?

一. 資料庫建需要用到的三張表,分別是:users表;liucheng表;flowpath表(表中已顯示所做的資料)

# 二.新流程的頁面

(1)用下拉清單顯示人員的名單並且加一個新增按鈕


#

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

<h1>新建流程</h1>

<p>

请选择节点人员:

    <select id="user">

    <?php

    session_start();

    require"../DBDA.class.php";

    $db = new DBDA();

    $sql = "select * from users";

    $arr = $db->query($sql,1);

    foreach($arr as $v)

    {

        echo"<option value=&#39;{$v[0]}&#39;>{$v[2]}</option>"//输出单选按钮,数组中的索引2,也就是用户名,但是它的值是代号

    }

    ?>

    </select>

     

<input type="button" value="添加节点" id="addjd" />

</p>

<br />

登入後複製


 

(2)為新增節點按鈕新增點選事件


1

2

3

4

5

6

7

8

9

10

11

12

$("#addjd").click(function(){

        var uid = $("#user").val();

        $.ajax({

                url:"add.php",

                data:{uid:uid},

                type:"POST",

                dataType:"TEXT",

                success: function(data){

                        window.location.href="xinjian.php";//执行处理页面成功后会刷新页面

                    }

            })

    })

登入後複製


 (3)新增節點的處理頁面add.php


1

2

3

4

5

6

7

8

9

10

11

<?php

session_start();

$uid = $_POST["uid"]; //接收传过来的值if(empty($_SESSION["jiedian"]))

{

    $arr = array($uid);//定义一个数组放用户

    $_SESSION["jiedian"] = $arr; //将第一个用户放入数组中}

else

{

    $arr = $_SESSION["jiedian"];//数组中有值

    $arr[] = $uid; //放入数组中值

    $_SESSION["jiedian"] = $arr; //将值再交给session}

登入後複製


# (4)在新流程頁面中顯示新增的節點


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<p>

<?php

if(empty($_SESSION["jiedian"]))

{

    echo"还未添加节点人员!";

}

else

{

    $arr = $_SESSION["jiedian"];

    foreach($arr as $k=>$v)

    {

        $sql ="select name from users where uid=&#39;{$v}&#39;";

        $name =$db->strquery($sql);

        echo"<p>{$k}--{$name}--<input type=&#39;button&#39; value=&#39;移除&#39; class=&#39;yichu&#39; sy=&#39;{$k}&#39;/></p>";

    }

}

?>

</p>

<br />

登入後複製


 完成到這一步驟以後,效果如下:

(5)將移除按鈕新增點選事件


1

2

3

4

5

6

7

8

9

10

11

12

$(".yichu").click(function(){

        var sy = $(this).attr("sy"); //点击这个按钮,选中这个的索引号

        $.ajax({

            url:"yichu.php",

            data:{sy:sy},

            type:"POST",

            dataType:"TEXT",

            success: function(data){

                window.location.href="xinjian.php";//执行处理页面成功后会刷新页面

            }

        });

    })

登入後複製


 (6)移除處理頁面yichu.php



# (6)移除處理頁面yichu.php

##

1

2

3

4

<?php

session_start();

 

$sy =$_POST["sy"]; //接收穿过来的索引号$arr = $_SESSION["jiedian"];//节点的数组unset($arr[$sy]); //删除数据$arr = array_values($arr);//重新索引$_SESSION["jiedian"] = $arr;

登入後複製


 (7)節點的問題解決以後,那麼就是流程的名稱了,寫名稱的文字方塊:重要的就是對此流程的保存,那麼就要有保存按鈕

1

2

3

4

5

<p>

请输入流程名称:<input type="text" id="mingcheng" />

</p>

<br />

<input type="button" value="保存" id="baocun" />

登入後複製


 


(8)給儲存按鈕的新增點擊事件

1

2

3

4

5

6

7

8

9

10

11

12

$("#baocun").click(function(){

    var name = $("#mingcheng").val();

    $.ajax({

        url:"baocun.php",

        data:{name:name},

        type:"POST",

        dataType:"TEXT",

        success: function(data){

            alert("保存成功!");

        }

    });

}) 

登入後複製


 (9)最後是儲存流程的處理頁面

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<?php

session_start();

require "../DBDA.class.php";

$db = new DBDA();

 

$name = $_POST["name"];

$code = time();

 

$sql ="insert into liucheng values(&#39;{$code}&#39;,&#39;{$name}&#39;)";

$db->query($sql);

 

$arr = $_SESSION["jiedian"];

 

foreach($arr as $k=>$v)

{

    $sql ="insert into flowpath values(&#39;&#39;,&#39;{$code}&#39;,&#39;{$v}&#39;,{$k})"; //注意建表的类型,这里的orders项用的是int型,所以{$k}不用加&#39;&#39;,而且建表主键要勾选自增长

    $db->query($sql);

}

登入後複製

當然內容也對應的保存在了資料庫中,效果見最上面的資料表

 

下面程式碼用來
copy

用:


1.xinjian.php

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

<!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/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>无标题文档</title><script src="../jquery-3.2.0.min.js"></script></head>

 

<body>

<h1>新建流程</h1>

<p>请选择节点人员:    <select id="user">

    <?php    session_start();    require"../DBDA.class.php";    $db = new DBDA();    $sql = "select * from users";    $arr = $db->query($sql,1);    foreach($arr as $v)

    {        echo"<option value=&#39;{$v[0]}&#39;>{$v[2]}</option>";

    }    ?>

    </select>

     

<input type="button" value="添加节点" id="addjd" />

</p>

<br />

<p>

<?phpif(empty($_SESSION["jiedian"]))

{    echo"还未添加节点人员!";

}else{    $arr = $_SESSION["jiedian"];    foreach($arr as $k=>$v)

    {        $sql ="select name from users where uid=&#39;{$v}&#39;";        $name =$db->strquery($sql);        echo"<p>{$k}--{$name}--<input type=&#39;button&#39; value=&#39;移除&#39; class=&#39;yichu&#39; sy=&#39;{$k}&#39;/></p>";

    }

}?>

</p>

<br />

<p>请输入流程名称:<input type="text" id="mingcheng" />

</p>

<br />

<input type="button" value="保存" id="baocun" />

 

</body>

 

<script type="text/javascript">$("#addjd").click(function(){        var uid = $("#user").val();

        $.ajax({

                url:"add.php",

                data:{uid:uid},

                type:"POST",

                dataType:"TEXT",

                success: function(data){

                        window.location.href="xinjian.php";

                    }

            })

    })

 

$(".yichu").click(function(){        var sy = $(this).attr("sy");

        $.ajax({

            url:"yichu.php",

            data:{sy:sy},

            type:"POST",

            dataType:"TEXT",

            success: function(data){

                window.location.href="xinjian.php";

            }

        });

    })

     

$("#baocun").click(function(){    var name = $("#mingcheng").val();

    $.ajax({

        url:"baocun.php",

        data:{name:name},

        type:"POST",

        dataType:"TEXT",

        success: function(data){

            alert("保存成功!");

        }

    });

})   

</script>

</html>

登入後複製

##2.add.php

1

2

3

4

<?phpsession_start();$uid = $_POST["uid"];if(empty($_SESSION["jiedian"]))

{    $arr = array($uid);    $_SESSION["jiedian"] = $arr;

}else{    $arr = $_SESSION["jiedian"];    $arr[] = $uid;    $_SESSION["jiedian"] = $arr;

}

登入後複製


#3.yichu.php

##

1

<?phpsession_start();$sy =$_POST["sy"];$arr = $_SESSION["jiedian"];unset($arr[$sy]);$arr = array_values($arr);$_SESSION["jiedian"] = $arr;

登入後複製


4.baocun.php


#

1

2

3

<?phpsession_start();require "../DBDA.class.php";$db = new DBDA();$name = $_POST["name"];$code = time();$sql ="insert into liucheng values(&#39;{$code}&#39;,&#39;{$name}&#39;)";$db->query($sql);$arr = $_SESSION["jiedian"];foreach($arr as $k=>$v)

{    $sql ="insert into flowpath values(&#39;&#39;,&#39;{$code}&#39;,&#39;{$v}&#39;,{$k})";    $db->query($sql);

}

登入後複製

######### ###

1

//输出单选按钮,数组中的索引2,也就是用户名,但是它的值是代号

登入後複製

以上是php-流程管理(php+Ajax)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板