2017-01-20 18 views
-2

ここに詳細テーブルから削除しようとしています。詳細テーブルに3つのレコードがあり、詳細テーブルから1つのレコードを削除するだけではなく、他の2つのレコードにも影響しません在庫表で.. 唯一の最初のレコードをこのコードの動作正しく、それはディテール表から削除クエリのためでは動作しないと在庫表で行わないことに...ここでwhileループで正しく動作しない

<?php 
include("include/config.inc.php"); 


$purchaseMasterId = isset($_REQUEST['purchaseMasterId']) ? $_REQUEST['purchaseMasterId'] : 0; 

if($purchaseMasterId > 0) { 
    $k = 0; 
    $selectMaster = "SELECT purchasedetail.purchaseMasterId, colorId, 
          totalkg, purchaseDetailId, partyId 
        FROM purchasedetail 
         JOIN purchasemaster ON 
          purchaseMaster.purchaseMasterId = purchasedetail.purchaseMasterId 
        WHERE purchasedetail.purchaseMasterId = ".$_REQUEST['purchaseMasterId']; 

    $selectMasterRes = mysql_query($selectMaster); 
    while($purRow = mysql_fetch_array($selectMasterRes)) { 
     $purchaseDetailId = $purRow['purchaseDetailId']; 
     $purchaseMasterId = $purRow['purchaseMasterId']; 
     $colorId   = $purRow['colorId']; 
     $totalkg   = $purRow['totalkg']; 
     $partyId   = $purRow['partyId']; 

     $select = "SELECT qty 
        FROM stock 
        WHERE partyId = ".$partyId." 
        AND colorId = ".$colorId; 

     $selectRes = mysql_query($select); 
     if($stockRow = mysql_fetch_array($selectRes)) { 
      $current = $stockRow['qty']; 
     } 

     $updateStock = "UPDATE stock 
         SET qty = ".$current." - ".$totalkg." 
        WHERE partyId = ".$partyId." 
         AND colorId = ".$colorId; 

     $updateStockRes = mysql_query($updateStock) or die(mysql_error()); 
     if($updateStockRes) { 
      $deleteDt = "DELETE FROM purchasedetail 
         WHERE purchaseDetailId = ".$purchaseDetailId; 

      $deleteRes = mysql_query($deleteDt); 
      if($deleteRes){ 
       $deleteMst = "DELETE FROM purchasemaster 
          WHERE purchaseMasterId = ".$_REQUEST['purchaseMasterId']; 

       $deleteMstRes = mysql_query($deleteMst) or die(mysql_error()); 
       if(!$deleteMstRes) { 
        echo "Purchase Master Delete Fail"; 
       } else { 
        header("Location:purdetail.php"); 
        exit(); 
       } 
      } 
     } 
    } 
} 
?> 
+1

A)何ですか? B)MVCE http://stackoverflow.com/help/mcve – nerdlyist

+4

C)あなたが[mysql_'](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-mysql/)を使うたびに、 function-in-php) データベース拡張子を新コード ** [キツンは世界のどこかで絞殺されている](http://bb.blogspot.com/-zCT6jizimfI/UjJ5UTb_BeI/AAAAAAAACgg/AS6XCd6aNdg/s1600/luna_getting_strangled .jpg)**これは廃止され、何年も前からPHP7で永久に失われています。 PHPを学んでいるだけなら、 'PDO'や' mysqli'データベースの拡張機能や準備した文を学ぶことができます。 [ここから] – RiggsFolly

+0

@RiggsFollyは私にそれを打ちました –

答えて

0

は完璧と私の更新されたコードされた後コード作業

<?php 
    include("include/config.inc.php"); 

    $purchaseMasterId = isset($_REQUEST['purchaseMasterId']) ? $_REQUEST['purchaseMasterId'] : 0; 

    if($purchaseMasterId > 0) 
    { 
     $k = 0; 
     $selectMaster = "SELECT purchasedetail.purchaseMasterId,colorId,totalkg,purchaseDetailId,partyId 
          FROM purchasedetail 
         JOIN purchasemaster ON purchasemaster.purchaseMasterId = purchasedetail.purchaseMasterId 
          WHERE purchasedetail.purchaseMasterId = ".$_REQUEST['purchaseMasterId']; 
     $selectMasterRes = mysql_query($selectMaster) or die(mysql_error()); 
     while($purRow = mysql_fetch_array($selectMasterRes)) 
     { 
      $purchaseDetailId = $purRow['purchaseDetailId']; 
      $purchaseMasterId = $purRow['purchaseMasterId']; 
      $colorId   = $purRow['colorId']; 
      $totalkg   = $purRow['totalkg']; 
      $partyId   = $purRow['partyId']; 



      $select = "SELECT qty 
         FROM stock 
         WHERE partyId = ".$partyId." 
         AND colorId = ".$colorId; 
      $selectRes = mysql_query($select); 
      if($stockRow = mysql_fetch_array($selectRes)) 
      { 
       $current = $stockRow['qty']; 
      } 

      $updateStock = "UPDATE stock 
           SET qty = ".$current." - ".$totalkg." 
           WHERE partyId = ".$partyId." 
          AND colorId = ".$colorId; 
      $updateStockRes = mysql_query($updateStock) or die(mysql_error()); 
      if($updateStockRes) 
      { 
       $deleteDt = "DELETE FROM purchasedetail 
          WHERE purchaseDetailId = ".$purchaseDetailId; 
       $deleteRes = mysql_query($deleteDt); 
       if($deleteRes) 
       { 
       $selectid = "SELECT purchaseDetailId 
           FROM purchasedetail 
          WHERE purchaseMasterId = ".$purchaseMasterId; 
       $selectidRes = mysql_query($selectid); 
       if(mysql_affected_rows() == 0) 
       { 
        $mst = "DELETE FROM purchasemaster 
          WHERE purchaseMasterId = ".$purchaseMasterId; 
        $mstRes = mysql_query($mst) or die(mysql_error());; 
        if($mstRes) 
        { 
        header("Location:purdetail.php"); 
        exit(); 
        } 
        else 
        { 

        } 
       } 
       } 
      } 
     } 
    } 
    ?> 
関連する問題