2013-10-09 35 views
-3

所有庫存已保存在庫存表中。但是,當我銷售我的產品時,如何更新庫存數量?我想更新我的庫存量表行數。我正在使用MySQL。如何在PHP中使用MySQL更新庫存數量

表名stock

-------------------------------------------------------------------- 
    id|username | date  | item  | quantity| amount 
------------------------------------------------------------------ 
    1 |xyz  |2013-10-09 | computer |25  | 25.00 
----------------------------------------------------------------- 

,這是sale表:

-------------------------------------------------------------------- 
    id|username | date  | item  | quantity| amount 
------------------------------------------------------------------ 
    1 |xyz  |2013-10-09 | computer |25  | 25.00 
----------------------------------------------------------------- 

,這是sale.php頁。當我賣一個產品頁面在銷售表中的記錄,但我想更新庫存表數量行:

<?php 
/* 
NEW.PHP 
Allows user to create a new entry in the database 
*/ 

// creates the new record form 
// since this form is used multiple times in this file, I have made it a function that is easily reusable 
function renderForm($date ,$username,$item,$quantity,$amount, $error) 

{ 
?> 
<form id="searchform" action="" method="post" enctype="multipart/form-data"> 
    <div align="center"> 
<fieldset> 

    <div align="center"> 
    <legend align="center" >Stock!</legend> 
    </div> 
    <div class="fieldset"> 
    <p> 
    <label class="field" for="date">Date: </label> 

     <input name="date" type="text" class="tcal" value="<?php echo date("Y-m-d");; ?>" size="30"/> 
     </p> 
    <p> 
    <label class="field" for="username">User Name : </label> 

    <input name="username" type="text" id="username" value="<?php echo $username; ?>" size="30"/> 
    </p> 
    <p> 
    <label class="field" for="item">Item: </label> 

    <input name="item" type="text" value="<?php echo $item; ?>" size="30"/> 
    </p> 


     <p> 
     <label class="field" >Quantity :</label> 
     <input name="quantity" type="text" value="<?php echo $quantity; ?>" size="30"/> 
    </p> 
     <p> 
     <label class="field" >Amount :</label> 
     <input name="amount" type="text" value="<?php echo $amount; ?>" size="30"/> 
    </p> 
    </div> 
</fieldset> 
    <p align="center" class="required style3">Please Fill The Complete Form </p> 
    <div align="center"> 
    <input name="submit" type="submit" class="style1" value="Submit"> 

    </div> 
</form> 


<?php 
// if there are any errors, display them 
if ($error != '') 
{ 
echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>'; 
} 
?> 



<?php 
} 




// connect to the database 
include('connect-db.php'); 

// check if the form has been submitted. If it has, start to process the form and save it to the database 
if (isset($_POST['submit'])) 
{ 
// get form data, making sure it is valid 
$date = mysql_real_escape_string(htmlspecialchars($_POST['date'])); 
$username = mysql_real_escape_string(htmlspecialchars($_POST['username'])); 
$item = mysql_real_escape_string(htmlspecialchars($_POST['item'])); 
$quantity = mysql_real_escape_string(htmlspecialchars($_POST['quantity'])); 
$amount = mysql_real_escape_string(htmlspecialchars($_POST['amount'])); 



// check to make sure both fields are entered 
if ($date == '' || $quantity == '') 
{ 
// generate error message 
$error = 'ERROR: Please fill in all required fields!'; 

// if either field is blank, display the form again 
renderForm($date ,$username,$item,$quantity,$amount, $error); 

} 
else 
{ 
// save the data to the database 
    mysql_query("INSERT sale SET date='$date', username='$username',item='$item',quantity='$quantity',amount='$amount'") 
or die(mysql_error()); 
echo "<center>Stock Enter Complete!</center>"; 
// once saved, redirect back to the view page 

} 
} 
else 
// if the form hasn't been submitted, display the form 
{ 
renderForm('','','','','','','','',''); 
} 

     ?> 
+0

添加另一個SQL查詢,以減少您的股票(這將是一個更新,並可能'更新股票SET數量=數量 - $數量在哪裏...'。你可以試一試,編輯一下你的問題? – halfer

+0

它顯示錯誤在同一行 – user2468472

回答

0

使用UPDATE查詢作爲

UPDATE stock set quantity = quantity - '$quantity' WHERE id = '$id'

+0

我更新像這樣,但它顯示錯誤mysql_query(「插入銷售SET日期='$日期',用戶名='$用戶名',項目='$項目',數量='$數量' ,'amount'='$ amount'') mysql_query(「UPDATE stock set quantity = quantity - '$ quantity'WHERE id ='$ id'」) – user2468472

+0

解析錯誤:語法錯誤,意外的T_STRING在sale.php上mysql_query行(「UPDATE stock set quantity = quantity - '$ quantity'WHERE id ='$ id'」) – user2468472

+0

試試這個mysql_query(「UPDATE stock set quantity = quantity - 」。$ quantity。「WHERE id ='」。$ id。 「'」); – PravinS

0

您將股票ID存儲在售並獲得股票ID,同時賣出股票當時更新股票表:

<?php 
$stockId="Here get stock id from sale table"; 
$qty="Here get qty from sale table"; 
$query="UPDATE stocktable SET quantity='".$qty."' WHERE id='".$stockId."'"; 
?> 
+0

如何編輯此代碼到我的代碼中可以告訴我 – user2468472

+0

stockid銷售表中可以使用select查詢從db中獲取值 – Punitha