Heim  >  Artikel  >  Backend-Entwicklung  >  Teilen Sie Beispiele für den Initiierungsprozess und den Überprüfungsprozess mit PHP+Ajax

Teilen Sie Beispiele für den Initiierungsprozess und den Überprüfungsprozess mit PHP+Ajax

零下一度
零下一度Original
2018-05-18 09:37:542007Durchsuche

In diesem Artikel wird hauptsächlich der PHP + Ajax-Initiierungsprozess und der Überprüfungsprozess vorgestellt (Freunde, die ihn benötigen, können sich darauf beziehen).

Wie man einen neuen Prozess erstellt, wurde bereits erwähnt Aufsatz, also jetzt Schauen wir uns an, wie man einen Prozess initiiert und den Prozess überprüft~~~

Lassen Sie uns zuerst über die Idee sprechen:

(1) Melden Sie sich mit der Sitzung an. Erhalten Sie die Benutzer-ID

(2) Der Benutzer initiiert einen Prozess

Hinweis: Sie müssen den Anwendungsgrund angeben

(3) Der Prüfer am Knoten überprüft es nacheinander

Hinweis: Jede Überprüfung wird genehmigt. Wenn die Überprüfung abgeschlossen ist, muss das entsprechende ISOK-Feld auf 1 (hier 1) geändert werden bedeutet das Ende, 0 zeigt an, dass es noch nicht vorbei ist)

Alle zum Teilen verfügbar Drei Tabellen:

Schritt 1: Erstellen Sie zunächst eine einfache Anmeldeseite und Verwenden Sie die Sitzung, um den Benutzernamen abzurufen:

denglu.php-Seite

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 </head>
 <body>
 <form method="post" action="denglu-cl.php">
  用户名:<input type="text" name="uid" /><br />
  密码:<input type="password" name="pwd" /><br />
  <input type="submit" value="登录" />
 </form>
 </body>
</html>

denglu-cl.php-Seite

<?php
session_start();
require "../DB.class.php";
$db = new DB();
$uid = $_POST["uid"];
$pwd = $_POST["pwd"];
$sql = "select pwd from users where uid=&#39;{$uid}&#39;";
$mm = $db->strquery($sql);
if($pwd==$mm && !empty($pwd))
{
 $_SESSION["uid"]=$uid;
 header("location:liucheng.php");
}
else
{
 echo "密码或登录名输入错误";
}
?>

Rendering:

Schritt 2: Erstellen Sie eine einfache Notizseite: liucheng.php

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <style>
  #body{
  height: 200px;
  width: 300px;
  background-color: gainsboro;
  margin: 200px auto;
  text-align: center;
  vertical-align: middle;
  line-height: 30px;
  }
 </style>
 </head>
 <body>
 <p id="body">
 <h2>主页面</h2>
 <p>
  <a href="faqi.php" rel="external nofollow" >发起流程</a><br />
  <a href=&#39;shenhe.php&#39;>审核流程</a>
 </p>
 </p>
 </body>
</html>

Rendern:

Schritt 3: Initiieren Sie die Prozessseite faqi.php

(1) Zeigen Sie zunächst alle Prozesse in einer Dropdown-Liste an

(2) Der Grund für das Initiieren des Prozesses muss vom angemeldeten Benutzer eingegeben werden Benutzer

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
  <style>
  #body{
  height: 250px;
  width: 300px;
  background-color: gainsboro;
  margin: 200px auto;
  text-align: left;
  vertical-align: middle;
  line-height: 30px;
  padding-left: 30px;
  }
 </style>
 </head>
 <body>
 <p id="body">
  <form method="post" action="faqi-cl.php">
  <h2>发起流程页面</h2>
  <select id="lc">
  <?php
   require "../DB.class.php";
   $db = new DB();
   $sql = "select * from liucheng";
   $arr = $db->query($sql);
   foreach($arr as $v)
   {
   echo "<option value=&#39;{$v[0]}&#39;>{$v[1]}</option>"; 
   }   
  ?>
  </select><br />
  发起流程事由:
  <textarea class="nr"> </textarea><br />
  <input type="button" value="确定发起" /> 
  </form>
 </p>
 </body>
</html>

Schritt 4: Schreiben Sie den initiierenden Prozess auf der Prozessseite fq-cl.php

<?php
session_start();
require "../DB.class.php";
$db = new DB();
$code = $_POST["lc"];
$nr =$_POST["nr"];
$uid = $_SESSION["uid"];
$time = date("Y-m-d H:i:s",time());
$sql = "insert into liuchengpath values (&#39;&#39;,&#39;{$code}&#39;,&#39;{$uid}&#39;,&#39;{$nr}&#39;,0,&#39;{$time}&#39;,0)";
$db->query($sql,0);
header("location:liucheng.php");
?>

Klicken Sie auf „Initiierung bestätigen“ und geben Sie diese Daten ein wird zur Datenbank hinzugefügt

Schritt 5: Auf der Überprüfungsseite shenhe.php verwendete Wissenspunkte verarbeiten

: Unterabfrage: irrelevante Unterabfrage (Unterabfrage und übergeordnete Abfrage). Abfrage kann unabhängig ausgeführt werden); zugehörige Unterabfrage (Bedingungen in der Unterabfrage verwenden etwas aus der übergeordneten Abfrage))

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
  <style>
  #body{
  height: 450px;
  width: 800px;
  background-color: gainsboro;
  margin: 200px auto;
  text-align: left;
  vertical-align: middle;
  line-height: 30px;
  padding-left: 30px;
   }
 </style>
 </head>
 <body>
 <p id="body">
  <h2>流程审核页面</h2>
  <?php
  session_start();
  $uid = $_SESSION["uid"];
  require "../DB.class.php";
  $db = new DB();
  //先取该用户参与的所有流程
  //并且取流程步骤到达该用户或已经被改用户审核通过的记录
  $sql="select * from liuchengpath a where code in(select code from liuchengjiedian where uids=&#39;{$uid}&#39;) and towhere >=(select orders from liuchengjiedian b where b.code = a.code and b.uids = &#39;{$uid}&#39;)";
  $arr = $db->query($sql);
  //var_dump($arr);
  echo "<table border=&#39;1&#39; width=&#39;100%&#39; cellpadding=&#39;0&#39; cellspacing=&#39;0&#39;>
    <tr>
    <td>流程代号</td>
    <td>发起者</td>
    <td>发起内容</td>
    <td>发起时间</td>
    <td>是否结束</td>
    <td>操作</td>
    </tr>";
  foreach($arr as $v){
   //操作最后一列
   //设置默认项
   $zt = "<a href=&#39;tongguo-cl.php?code={$v[0]}&#39;>审核未通过</a>";
   $sql = "select orders from liuchengjiedian where code =&#39;{$v[1]}&#39; and uids =&#39;{$uid}&#39;";
   $wz = $db->strquery($sql);
   if($v[6]>$wz)
   {
   $zt = "<span style=&#39;color:green&#39;>审核已通过</span>";
   }
   echo "<tr>
    <td>{$v[1]}</td>
    <td>{$v[2]}</td>
    <td>{$v[3]}</td>
    <td>{$v[4]}</td>
    <td>{$v[5]}</td>
    <td>{$zt}</td>
   </tr>";   
  }
  echo "</table>";  
  ?>
 </p>
 </body>
</html>

Schritt 6: Seite tongguo-cl.php schreiben (wichtig)

<?php
$ids = $_GET["code"];
require "../DB.class.php";
$db = new DB();
//点击审核后,towhere列加1,目的是使流程向下走
$sql = "update liuchengpath set towhere = towhere+1 where ids =&#39;{$ids}&#39; ";
$db->query($sql,0);
//当流程走到最后一个审核的人时,流程要结束
//获取该流程最大的orders
$sql =" select max(orders) from liuchengjiedian where code = (select code from liuchengpath where ids =&#39;{$ids}&#39;)";
$maxorders = $db->strquery($sql);
//获取该用户处于哪个位置,也就是towhere等于多少
$sql ="select towhere from liuchengpath where ids =&#39;{$ids}&#39;";
$towhere = $db->strquery($sql);
//判断是否已到达最后一个审核的人
if($towhere>$maxorders)
{
 $sql = "update liuchengpath set isok=1 where ids=&#39;{$ids}&#39;";
// var_dump($sql);
 $db->query($sql,0);
}
header("location:shenhe.php");
?>

Wenn dieser Schritt geschrieben ist, klicken Sie auf „Audit fehlgeschlagen“ und es wird zu „Genehmigung bestanden“

Lassen Sie uns die Auswirkung von Anfang an überprüfen:

Erstens: Starten Sie einen neuen Urlaubsprozess:

Zweitens: Zhangsan ist die erste Person, die überprüft wird

Klicken Sie auf „Audit fehlgeschlagen“ nach „,

Endlich: zhaoliu ist der letzte Prüfer

Nach dem Klicken auf „Audit fehlgeschlagen“ wird das Ende auf 1 geändert; der Vorgang ändert sich in grün „Audit bestanden“~~~

Das obige ist der detaillierte Inhalt vonTeilen Sie Beispiele für den Initiierungsprozess und den Überprüfungsprozess mit PHP+Ajax. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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