2015-06-22 59 views
0

我目前使用表單將最多10個ItemID發送到PHP文件。 ItemID的一側我正在發送「狀態更新」以讓用戶更改所有這些ID的狀態。通過這種方式,我設法爲我的客戶創建了一個Admin功能。如何使用多個if語句更新表格

的ItemID的是大多數事情的主要觸發幷包含有關儀器,如名稱,描述,位置等一些信息..項目ID的僅僅是對一臺儀器是唯一的。每一個項目ID的

一部分是羣ID。 GroupID組裝一個樂器所屬的組。如果一個樂器包含多個部分,它將被強制進入一個組。假設我們有這個儀器的波紋管,一個包含2個傳感器(ID:1438,1439)的溫度傳感器(ID:1437),以及它最高的雄偉形狀的大型計算器。該樂器和「額外」部件將被添加到groupid =「10」。

2.所以用我的代碼我想掃描組ID的每個itemID。如果groupID超過0,則將所有itemID(在特定組下)更改爲從表單發送的狀態。同時,我希望該函數能夠更改所有輸入的itemID的狀態(主要是groupID =「0」的項目)。通過這種方式,用戶不需要掃描組的每個部分,並且可以節省大量時間用於白天的其他工作。

3.在這種狀態下的功能的問題是,它只會改變任何一個組的狀態,或只改變輸入到窗體的itemID的狀態。我需要一些建議讓我用這個功能滾動。

1

2.

$con = mysql_connect("localhost", "root", "") OR die(' Could not connect'); 
$db = mysql_select_db('book1', $con); 
$CalDate= $_POST["CalDate"]; 
$DueDate= $_POST["DueDate"]; 
$itemID1= $_POST["itemID1"]; 
... 
$itemID10= $_POST["itemID10"]; 
$groupidset= $_POST["groupid"]; 
$status= $_POST["status"]; 
if (!$con) { 
    die('Could not connect: '.mysql_error()); 
} 
if(isset($itemID1) && isset($itemID2) && isset($itemID3) && isset($itemID4) && isset($itemID5) && isset($itemID6) && isset($itemID7) && isset($itemID8) && isset($itemID9) && isset($itemID10)){ 
    $DB = new mysqli("localhost", "root", "", "book1"); 
    $result = mysqli_query($DB, "SELECT * FROM booking WHERE itemID IN('$itemID1','$itemID2','$itemID3','$itemID4','$itemID5','$itemID6','$itemID7','$itemID8','$itemID9','$itemID10','$groupidset')"); 
    $result2 = mysqli_query($DB, "SELECT groupid FROM booking WHERE itemID IN('$itemID1','$itemID2','$itemID3','$itemID4','$itemID5','$itemID6','$itemID7','$itemID8','$itemID9','$itemID10','$groupidset')"); 
    while($row = mysqli_fetch_array($result2)){ 
     $groupid = $row["groupid"]; 
    } 
    if(($groupid == 0)){ 
     $upd = "UPDATE booking SET status='$status/ADM', verification='No'"; 
     if($CalDate !=''){ 
      $upd.= ",CalDate='$CalDate'"; 
     } 
     if($DueDate !=''){ 
      $upd.= ",DueDate='$DueDate'"; 
     } 
     $upd.=" WHERE itemID IN ('$itemID1', '$itemID2', '$itemID3', '$itemID4', '$itemID5', '$itemID6', '$itemID7', '$itemID8','$itemID9', '$itemID10')"; 
    } 
    if(!empty($groupid)){ 
     $upd = "UPDATE booking SET status='$status/ADM', verification='No' WHERE groupid IN ('$groupid')"; 
     if($CalDate !=''){ 
      $upd.= ",CalDate='$CalDate'"; 
     } 
     if($DueDate !=''){ 
      $upd.= ",DueDate='$DueDate'"; 
     } 
    } 

回答

0

我找到了解決這個!無論哪種方式,ItemID只能在第一行中採用兩條路線,其餘的都是自我解釋的。我知道這是一個凌亂的代碼,但它的工作原理,我應該!

if(isset($itemID1) && isset($itemID2) && isset($itemID3) && isset($itemID4) && isset($itemID5) && isset($itemID6) && isset($itemID7) && isset($itemID8) && isset($itemID9) && isset($itemID10)){ 
    $DB = new mysqli("localhost", "root", "", "book1"); 
    $result1 = mysqli_query($DB, "SELECT * FROM booking WHERE itemID IN('$itemID1')"); 
    .... 
    $result10 = mysqli_query($DB, "SELECT * FROM booking WHERE itemID IN('$itemID10')"); 
    while($row = mysqli_fetch_array($result1)){ 
     $groupid1 = $row["groupid"]; 
     echo 'ItemID1, Groupid1: '; 
     echo $groupid1; 
     echo '<br/>'; 
    } 
    ..... 
    while($row = mysqli_fetch_array($result10)){ 
     $groupid10 = $row["groupid"]; 
     echo 'ItemID10, Groupid10: '; 
     echo $groupid10; 
     echo '<br/>'; 
    } 

    if(isset($itemID1) && isset($itemID2) && isset($itemID3) && isset($itemID4) && isset($itemID5) && isset($itemID6) && isset($itemID7) && isset($itemID8) && isset($itemID9) && isset($itemID10)){  
     $upd = "UPDATE booking SET status='$status/ADM', verification='No'"; 
     if($CalDate !=''){ 
      $upd.= ",CalDate='$CalDate'"; 
     } 
     if($DueDate !=''){ 
      $upd.= ",DueDate='$DueDate'"; 
     } 
     $upd.= " WHERE "; 
     if($groupid1 != 0){ 
      $upd.= "groupid IN('$groupid1')"; 
      if($groupid2 != 0){ 
       $upd.=" OR groupid IN('$groupid2')"; 
      } 
      .... 
      if($groupid10 != 0){ 
       $upd.=" OR groupid IN('$groupid10')"; 
      } 
      if($groupid10 == 0){ 
       $upd.=" OR itemid IN('$itemID10')"; 
      } 
     } 
     if(empty($groupid1)){ 
      $upd.= "itemid IN('$itemID1')"; 
      if($groupid2 != 0){ 
       $upd.=" OR groupid IN('$groupid2')"; 
      } 
      if($groupid2 == 0){ 
       $upd.=" OR itemid IN('$itemID2')"; 
      } 
      .... 
      if($groupid10 != 0){ 
       $upd.=" OR groupid IN('$groupid10')"; 
      } 
      if($groupid10 == 0){ 
       $upd.=" OR itemid IN('$itemID10')"; 
      } 
     } 
    }