สอบถามการคำนวนสต๊อกคงเหลือก่อนเบิกสินค้า
สอบถามการคำนวนสต๊อกคงเหลือก่อนเบิกสินค้า
ขอคำแนะนำ 2 เรื่องครับ
1.ในช่อง สต๊อกคงเหลือ ต้องการให้คำนวณ จำนวนคงเหลือให้ทราบว่าเหลือเท่าไรครับ
(ผมคำนวณ จำนวนสต๊อก-จำนวนเบิก =จำนวนคงเหลือ)
แต่บรรทัดที่ 2-4 จำนวนที่คำนวณออกมาไม่ตรงครับ
2.อยากให้ช่องจองสินค้าได้ แสดงรายการสินค้าที่เบิกได้จริง แต่ไม่ให้เกิน จำนวนที่เบิกครับ (ให้เรียงจากลำดับน้อยไปหามากครับ)
(ดังตัวอย่างในรูปครับ)
จากตัวอย่าง รายการที่ 4 เบิก 100 ชิ้น ระบบจะต้องคำนวน(หลังจากจองจากสาขาอื่นแล้ว)จะได้ 20 หรือถ้าสต๊อกไม่พอในรายการเบิกให้แทนค่าด้วย 0
รบกวนพี่ๆแนะนำด้วยครับ
ส่วนหน้าแสดงการเบิก
Code
<meta charset="utf-8">
<script language="javascript">
function checkform()
{
if(document.orderconfirm.order.value=="")
alert('กรุณากรอกตัวเลข');
}
</script>
<?php
require "connect.php";
$o_id = $_REQUEST["line"];
$pro_order = $_REQUEST["pro_order"];
$c = $_REQUEST["c"];
$count=count($pro_order);
$member= $_REQUEST["wh"];
$code =$_REQUEST["CODE"];
//echo $code;
if($count==0){
echo "<script>alert('คุณยังไม่ได้เลือก
สินค้า');history.back();</script>";
echo "<script>window.location='index.php';</script>";
}else{
?>
<form action="confirm.php" method="post"
name="orderconfirm">
<div class="container">
<h1>ระบบเบิกสินค้า</h1>
<fieldset>
<table width="70%">
<tr>
<th width="92">ลําดับ</th>
<th width="92">รหัสสินค้า</th>
<th width="300" align="center">สินค้า</th>
<th width="130">สาขา</th>
<th width="84">จำนวนที่เบิก</th>
<th width="84">สต๊อกคงเหลือ</th>
<th width="175">จองสินค้าได้</th>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<input type="radio" value="Transport" name="chk"> ใบเบิกสินค้า <br/>
<input type="radio" value="SPTransport" name="chk"> ใบส่งสินค้าซ่อม <br/>
<input type="radio" value="IV" name="chk"> เอกสาร IV <br/>
<input type="text" name="wh[]" required id="wh">
<script>
$(function(){
$(':radio').on('click',function(){
var Order;
if($(this).val() == 'Transport'){
Order="WH59-";
}else if($(this).val() == 'SPTransport'){
Order="RE59-";
}else if($(this).val() == 'IV'){
Order="IV-";
}
$('#wh').val(Order);
});
})
</script>
</tr>
<?php
//คำนวณสต๊อก
$sql_stock="SELECT * FROM `stock` WHERE CODE='$code' ";
$result1=mysqli_query($link,$sql_stock);
$row1=mysqli_fetch_array($result1);
//echo $row1['order_detail_quantity'];
$stock=$row1['order_detail_quantity'];
echo "Stock All $code = จำนวน $stock ชิ้น";
//คำนวณยอดรวมจำนวนที่สั่ง
$SUM="SELECT SUM(order_detail_quantity) AS total FROM order_details WHERE CODE='$code' ";
$result_sum=mysqli_query($link,$SUM);
$rs_sum = mysqli_fetch_array($result_sum);
//echo "total = ".$rs_sum["total"];
//ส่วนตารางข้อมูลการเบิก
for($i=0;$i<$count;$i++){
$sql="select * from order_details where
o_id='".$_REQUEST["pro_order"][$i]."' order by o_id
desc";
$result=mysqli_query($link,$sql) or die(mysql_error());
$row=mysqli_fetch_array($result);
$drop=$stock-$row['order_detail_quantity'];
?>
<tr>
<td align="center"><?php echo $i+1;?></td>
<td align=""><?php echo $row["CODE"];?></td>
<td align=""><?php echo $row["NAME"];?></td>
<td align="center"><?php echo ($row["pro_good"]);?></td>
<td align="center"><?php echo $row["order_detail_quantity"];?></td>
<td align="center"><?php echo "$drop";?></td>
<td align="center"><input type="text" name="order[]" required id="check<?php echo $i;?>" value="<?php echo $row["order_detail_quantity"];?>" placeholder="กรุณากรอกจํานวน" size="10"
onkeypress="return checkform('check<?php echo$i;?>')"> ชิ้น
<input type="hidden" name="line"value="<?php echo $i+1;?>">
<input type="hidden" name="o_id[]" value="<?php echo $_REQUEST["pro_order"][$i];?>">
</td>
</tr>
<?php
}
?>
<tr>
<td colspan="5" align="right">
<?
echo "ยอดเบิกทั้งหมด = ".$rs_sum["total"];
?>
</td>
</tr>
<br>
<tr>
<td colspan="6 " align="right"><input
type="submit" name="ok" value="ยืนยันการเบิก" id="bottom">
</td>
</tr>
</table>
</fieldset>
</form>
<?php } ?>
ส่วนconfirm.php
Code
<meta charset="utf-8">
<?php
require "connect.php";
$pro_id = $_REQUEST["o_id"];
$total_order = $_REQUEST["order"];
$count=count($total_order);
$member= $_REQUEST["wh"][$i];
?>
<?php
$total2 = 0;
for($i=0;$i<$count;$i++){
$sql="select * from order_details where
o_id='".$_REQUEST["o_id"][$i]."' order by o_id desc";
$result=mysqli_query($link,$sql) or die(mysqli_error());
$row=mysqli_fetch_array($result);
if($_REQUEST["order"][$i]==""){
echo "<script>alert('กรุณากรอกจํานวนสินค้า');</script>";
echo "<script>window.location='#';</script>";
}else if(!is_numeric($_REQUEST["order"][$i])){
echo "<script>alert('กรุณากรอกสินค้าเป็นตัวเลข');</script>";
echo "<script>window.location='#';</script>";
}else if($_REQUEST["order"][$i]<$stock){
echo "<script>alert('จํานวนสินค้าไม่พอ');</script>";
echo "<script>window.location='index.php';</script>";
}else{
$total=$_REQUEST["order"][$i];
$total2=$total;
?>
<?php
$member= $_REQUEST["wh"][$i];
$sql2="insert into`orders`(order_date,order_qty,mem_id,status)
values(now(),$total2,'".$_REQUEST["wh"][$i]."','complete')";
$query2=mysqli_query($link,$sql2);
$old=mysqli_insert_id($link);
//$last_id = mysqli_insert_id();
$sql3="insert into`order_detail`(order_id,o_id,qty)
values('$old','".$_REQUEST["o_id"][$i]."','".$_REQUEST["o
rder"][$i]."')";
$query3=mysqli_query($link,$sql3);
$sql4="update stock set order_detail_quantity=order_detail_quantity-
'".$_REQUEST["order"][$i]."' where
o_id='".$_REQUEST["o_id"][$i]."'";
$query4=mysqli_query($link,$sql4);
if($query3&&$query4){
echo "<script>alert('ตัดสต๊อกสําเร็จแล้ว [เลขที่คิวรับ :$old]');</script>";
echo
"<script>window.location='index.php';</script>";
}else{
}
}
?>
<?php
}
?>
</table>
</fieldset>
Tag : PHP, MySQL, HTML, CSS, PDF, Apache
Date :
2022-04-14 03:02:19
By :
mrcool_307
View :
969
Reply :
1
ถ้าเข้าใจถูก
นอก loop
$drop = $stock;
assign $last_qty ไปพร้อมกับ
ใน loop
$drop -= $row['order_detail_quantity'];
textbox จองสินค้าได้ก็ใส่เงื่อนไขแทนที่จะแสดงจำนวนจากฐานข้อมูล
echo $row["order_detail_quantity"]
เช่น
Code (PHP)
echo ($row["order_detail_quantity"] <= $last_qty) ? $row["order_detail_quantity"] : $last_qty
Date :
2022-04-18 14:26:24
By :
009
Load balance : Server 02