用php+ajax新建流程(請假、進(jìn)貨、出貨等)
對管理者來說,電腦操作的請假流程要比人工請假流程的效率高出很多,那么如何新建這個流程呢?
首先:需要明確需要操作哪些流程?
其次:每一個流程需要那些人員來執(zhí)行?
最后:執(zhí)行該流程人員的順序是什么?
第一步:需要三張表,分別是:user表;liucheng表;liuchengjiedian表(后兩張還未添加內(nèi)容)

第二步:將users表中的內(nèi)容用下拉列表讀出:
<div id="top">
<p>請選擇節(jié)點人員:</p>
<select id="user">
<?php
require "../DB.class.php";
$db = new DB();
$sql = "select * from users";
$arr = $db->query($sql);
foreach ($arr as $v){
echo "<option value='{$v[0]}'>{$v[2]}</option>";
}
?>
</select>
<input type="button" value="確定添加"/>
</div>
實現(xiàn)效果:

第三步:點擊“確定添加”,將選的人員添加到session中
(1)先將jquery包引入
<script src="../jquery-1.11.2.min.js"></script>
(2)ajax代碼
<script type="text/javascript">
//用session 存取選擇的值
$("#add").click(function(){
var uid = $("#user").val();
// alert(uid);
$.ajax({
url:"add-cl.php",
data:{uid:uid},
type:"POST",
dataType:"TEXT",
success:function(data){
window.location.href="main.php" rel="external nofollow" rel="external nofollow" ;
}
});
})
</script>
(3)add-cl.php頁面
<?php
//開啟session
session_start();
//取值
$uid=$_POST["uid"];
//如果session為空,造一個數(shù)組,將取到的值添加進(jìn)去
if(empty($_SESSION["jiedian"])){
$arr = array($uid);
$_SESSION["jiedian"] = $arr;
}
//如果不為空,將取到的值追加進(jìn)去
else
{
$arr = $_SESSION["jiedian"];
$arr[]=$uid;
$_SESSION["jiedian"] = $arr;
}
?>
第四步:將選中的人員列出來
(1)先判斷是否取到session的值
<?php
session_start();
if(empty($_SESSION["jiedian"])){
echo "尚未選擇節(jié)點人員!";
}

(2)取到session 后
else
{
$arr = $_SESSION["jiedian"];
foreach($arr as $k=>$v)
{
$sql = "select name from users where uid='{$v}'";
$name = $db->strquery($sql);
echo "<div>{$k}--{$name}--<input type ='button' value='移除' class='yichu' code='{$k}'> <div>";
}
}
?>

(3)給“移除”按鈕添加點擊事件
ajax頁面:
$(".yichu").click(function(){
var code = $(this).attr("code");
$.ajax({
url:"yichu-cl.php",
data:{code:code},
type:"POST",
dataType:"TEXT",
success:function(data){
window.location.href="main.php" rel="external nofollow" rel="external nofollow" ;
}
});
})
yichu-cl.php頁面:
<?php session_start(); $code = $_POST["code"]; $arr = $_SESSION["jiedian"]; //從數(shù)組中刪除code這一項 unset($arr[$code]); //將索引重新排列 $arr = array_values($arr); $_SESSION["jiedian"] = $arr; ?>
點擊移除王五:則會剩余張三和周六,且code重新排列

最后一步:添加保存按鈕,將數(shù)據(jù)添加到數(shù)據(jù)庫
注意:在此之前所有的數(shù)據(jù)都是存在于session中
(1)添加流程名稱輸入框和保存按鈕
<div id="btm">
請輸入流程名稱:
<input type="text" class="name" />
<input type="button" value="保存" class="baocun" />
</div>
(2)點擊保存按鈕,將所有信息存入數(shù)據(jù)庫
ajax代碼
$(".baocun").click(function(){
var name = $(".name").val();
// alert(name);
$.ajax({
url:"baocun-cl.php",
data:{name:name},
type:"POST",
dataType:"TEXT",
success:function(data){
alert("保存成功!");
}
});
})
baocun-cl.php頁面
<?php
session_start();
require "../DB.class.php";
$db = new DB();
//將數(shù)據(jù)寫進(jìn)liucheng表
$name = $_POST["name"];
$code=time();//用時間戳來生成code
$sql = "insert into liucheng values('{$code}','{$name}')";
$db->query($sql,0);
//將數(shù)據(jù)寫入liucehngjiedian表
$arr = $_SESSION["jiedian"];
foreach($arr as $k=>$v)
{
$sql = "insert into liuchengjiedian values ('','{$code}','{$v}','{$k}')";
$db->query($sql,0);
}
?>
實現(xiàn)效果以及寫入數(shù)據(jù)庫的數(shù)據(jù):


到這一步就能實現(xiàn)整個的劉新建流程步驟了,后期可以將界面再美化一點 ~~~~
總結(jié):每一步的處理頁面都比較重要;sessoin存取數(shù)據(jù);unsettle()移除數(shù)組;array_values()將數(shù)組重新排列等~~~
相關(guān)文章
yii2.0框架實現(xiàn)上傳excel文件后導(dǎo)入到數(shù)據(jù)庫的方法示例
這篇文章主要介紹了yii2.0框架實現(xiàn)上傳excel文件后導(dǎo)入到數(shù)據(jù)庫的方法,結(jié)合實例形式詳細(xì)分析了yii2.0上傳excel文件后導(dǎo)入到數(shù)據(jù)庫的相關(guān)模型、視圖、控制器實現(xiàn)技巧,需要的朋友可以參考下2020-04-04
PHP使用DOMDocument類生成HTML實例(包含常見標(biāo)簽元素)
這篇文章主要介紹了PHP使用DOMDocument類生成HTML實例,包含常見標(biāo)簽元素,如表單、表格、CSS樣式等,最后寫了一個比較完整的例子,給需要的朋友參考下2014-06-06
php實現(xiàn)可以設(shè)置中獎概率的抽獎程序代碼分享
這篇文章主要介紹了一個抽獎程序,要求一等獎的中獎概率是0.12%,二等獎中獎概率是3%,三等獎中獎概率是12%,其他中獎概率是都是謝謝惠顧2014-01-01

