所有库存已保存在库存表中。但是,当我销售产品时,如何更新库存数量?我想更新我的库存表数量行。我正在使用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 :(得分:0)
使用UPDATE查询
UPDATE stock set quantity = quantity - '$quantity' WHERE id = '$id'
答案 1 :(得分: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."'";
?>
答案 2 :(得分:0)
您需要将quantity
和onstock
添加到数据库中,然后执行以下操作:
$update=UPDATE table SET onstock=onstock-'$quantity' WHERE id='$id';
$result=mysqli_query($conn,$update);
答案 3 :(得分:0)
我通常在出售时输入库存行,并同时购买两者。当我进行购买时,我将数量设置为正数,将所有其他相关字段(例如我要购买的产品,purchidid)都设置为正数;当我出售时,我将数量作为负数的行设置为负数,这样我便拥有历史记录。 当获得库存清单时,我会在返回库存行时使用总和。在休市期间,我将库存抹去另一个存档表。