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

php-流程管理(php+Ajax)

大家讲道理
大家讲道理原創
2017-05-28 09:51:051700瀏覽

php+AJAX新流程

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

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

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

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

# 二.新流程的頁面

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


#
<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)為新增節點按鈕新增點選事件


$("#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


<?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)在新流程頁面中顯示新增的節點


<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)將移除按鈕新增點選事件


$(".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

##

<?php
session_start();

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


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

<p>
请输入流程名称:<input type="text" id="mingcheng" />
</p>
<br />
<input type="button" value="保存" id="baocun" />


 


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

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


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

<?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

b585974ae3b7dba3039af53a9593f9c4
383eb734b02b508089ba2d78eb4c6f68
93f0f5c25f18dab9d176bd4f6de5d30e
0f3eabac747cdf61a51589c5584ae6e8
b2386ffb911b14667cb8f0f91ea547a7无标题文档6e916e0f7d1e588d4f442bf645aedb2f202954c7e92b91561876db61cd5335d82cacc6d41bbb37262a98f745aa00fbf09c3bca370b5104690d9ef395f2c5f8d1

6c04bd5ca3fcae76e30b72ad730ca86d
4a249f0d628e2318394fd9b75b4636b1新建流程473f0a7621bec819994bb5020d29372a
e388a4556c0f65e1904146cc1a846bee请选择节点人员:    49821feaa8adcef869675df18bcd0aad
    02c3585e263069ccf55a7ec27c12db82query($sql,1);    foreach($arr as $v)
    {        echo"8dfcd5164ba7c14d3a3a5df4cc194797{$v[2]}4afa15d3069109ac30911f04c56f3338";
    }    ?>
    18bb6ffaf0152bbe49cd8a3620346341
    
41970b5e738a2bdeb6bd0b93e8a3f3bd
94b3e26ee717c64999d7867364b1b4a3
ff9d32c555bb1d9133a29eb4371c1213
e388a4556c0f65e1904146cc1a846bee
27d30a292e6e169a45a46c02f1bea765$v)
    {        $sql ="select name from users where uid='{$v}'";        $name =$db->strquery($sql);        echo"e388a4556c0f65e1904146cc1a846bee{$k}--{$name}--d94811dbc25891e95c80dc21398ddea594b3e26ee717c64999d7867364b1b4a3";
    }
}?>
94b3e26ee717c64999d7867364b1b4a3
ff9d32c555bb1d9133a29eb4371c1213
e388a4556c0f65e1904146cc1a846bee请输入流程名称:e40a0d088a545ab211475e67dfc03b96
94b3e26ee717c64999d7867364b1b4a3
ff9d32c555bb1d9133a29eb4371c1213
87df0f69fa5923d851c5500cf9c43562

36cc49f0c466276486e50c850b7e4956

8019067d09615e43c7904885b5246f0a$("#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("保存成功!");
        }
    });
})    
2cacc6d41bbb37262a98f745aa00fbf0
73a6ac4ed44ffec12cee46588e518a5e

##2.add.php

b1132f3d8bbadeb1c548041a0a8625abquery($sql);$arr = $_SESSION["jiedian"];foreach($arr as $k=>$v)
{    $sql ="insert into flowpath values('','{$code}','{$v}',{$k})";    $db->query($sql);
}
######### ###
//输出单选按钮,数组中的索引2,也就是用户名,但是它的值是代号

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn