|
|
|
ขอสอบถามเรื่องทำสรุปยอดขายสินค้า ประจำวัน/เดือน/ปีครับ |
|
|
|
|
|
|
|
ขอสอบถามเรื่องทำสรุปยอดขายสินค้า ประจำวัน/เดือน/ปีครับ
พอดีผมไม่รู้จะใช้คำสั่งอะไรแก้ปัญหาตรงที่มีรายการสินค้าเหมือนกันให้รวมเป็นแถวเดียว ทั้งชื่อสินค้า,จำนวนสินค้า และราคา เรียงตามวันที่ซื้อครับ
ตารางที่ใช้มี
1. ตาราง products เก็บสินค้าที่ขาย -> product_id(คีย์หลัก), product_name(ชื่อสินค้า)
2. ตาราง orders เก็บออร์เดอร์ลูกค้า -> order_id(คีย์หลัก), buy_date(วันที่ซื้อ), status(สถานะสั่งซื้อโดยที่สินค้าที่จัดส่งแล้วจะstatus = "3")
3.ตาราง order_details เก็บรายละเอียดสินค้าที่ลูกค้าซื้อ -> detail_id(คีย์หลัก), order_id, product_id, pieces(จำนวนที่ซื้อ), pay_price(ราคาต่อชิ้น)
อันนี้เป็นภาพตารางแสดงที่ผมทำได้ในตอนนี้ครับ
อันนี้เป็นโค้ดครับ
Code
<?php
$member_id = $_SESSION['member_id'];
$search_Date = "";
$search_YM = "";
if(isset($_POST["search_bt"])){
$search_Date = $_POST["search_Date"];
$search_YM = $_POST["search_YM"];
if(($search_Date=="")and($search_YM!="")){
$select = "Select orders.*, order_details.*, products.* From orders, order_details, products Where orders.order_id=order_details.order_id and order_details.product_id=products.product_id and orders.status='3' and DATE_FORMAT(orders.buy_date,'%Y-%m') = '$search_YM' Order By orders.buy_date DESC ";
}elseif(($search_Date!="")and($search_YM=="")){
echo "<script>alert('โปรดกรอกเดือนและปีด้วย.')</script>";
echo "<script>window.location='admin-seller.php'</script>";
}elseif(($search_Date=="")and($search_YM=="")){
echo "<script>alert('โปรดกรอกรายละเอียดค้นหาก่อน.')</script>";
echo "<script>window.location='admin-seller.php'</script>";
}else{
$select = "Select orders.*, order_details.*, products.* From orders, order_details, products Where orders.order_id=order_details.order_id and order_details.product_id=products.product_id and orders.status='3' and DATE_FORMAT(orders.buy_date,'%Y-%m') = '$search_YM' and DATE_FORMAT(orders.buy_date,'%d') = '$search_Date' Order By orders.buy_date DESC ";
}
}else{
$select = "Select orders.*, order_details.*, products.* From orders, order_details, products Where orders.order_id=order_details.order_id and order_details.product_id=products.product_id and orders.status='3' Order By orders.buy_date ";
//3table
}
unset($_SESSION["Sumtotal"]);
$query = mysqli_query($link,$select) or die(mysqli_error($link));
?>
<div class="container theme-showcase" role="main">
<div class="row">
<div class="">
<FORM method="POST" enctype="multipart/form-data" id="myform" name="form">
<div class="panel panel-mbrown">
<div class="panel-heading">
<h3 class="panel-title"><b>ข้อมูลการขายสินค้า
<?php if(($search_Date=="")and($search_YM!="")){
echo $search_YM;
}elseif(($search_Date!="")and($search_YM!="")){
echo $search_YM."-".$search_Date;
}else{ }
?>
</b></h3><br>
<div id="no_print"><!--no print-->
<form class="form-inline">
<div class="form-group"><center>
<input type="month" class="form-control1" id="month-year" placeholder="ปีค.ศ.-เดือน เช่น 2016-10" value="<?php echo $search_YM; ?>" style="color: black; width: 200px;" maxlength="7" name="search_YM" data-toggle="tooltip" data-placement="top" title="กรอก ปีค.ศ.-เดือน เช่น 2016-10">
<input type="number" class="form-control1" id="date" placeholder="วันที่" style="color: black;" value="<?php echo $search_Date; ?>" maxlength="2" name="search_Date" data-toggle="tooltip" data-placement="top" title="กรอก วันที่">
<button type="submit" class="btn btn-success" value="search" name="search_bt"><span class="glyphicon glyphicon-search" aria-hidden="true"></span> ค้นหา</button>
<p class="help-block" style="color: white;"><b>*ค้นหาตาม ปีค.ศ.-เดือน-วันที่ หรือ ค้นหาตาม ปีค.ศ.-เดือน ก็ได้*</b></p>
</center></div>
</form>
</div>
</div>
<div class="table-responsive">
<div>
<table class="table table-bordered table-striped table-hover" id="//responsive-example-table" cellspacing="0">
<thead>
<tr class="info_brown">
<th width="80"><center>รหัสสินค้า</center></th>
<th width="180"><center>วันที่สั่งซื้อ</center></th>
<th width=""><center>สินค้า</center></th>
<th width="120"><center>ราคา/ชิ้น</center></th>
<th width="100"><center>จำนวน</center></th>
<th width="120"><center>ราคารวม</center></th>
</tr>
</thead>
<tbody>
<?php
while ($data = mysqli_fetch_array($query)) {
$SumTotal = 0 ;
$total_price = 0 ;
$pieces = $data['pieces'];
$price = $data['pay_price'];
$total_price = $price * $pieces;
$_SESSION["Sumtotal"] = $_SESSION["Sumtotal"] + $total_price; //หาผลราคารวมทั้งหมด
?>
<tr>
<td><?php echo $data['product_id'];?></td>
<td><center><?php echo $data['buy_date'];?></center></td>
<td><?php echo $data['product_name'];?></td>
<td align="right"><?php echo number_format($price,2);?> บาท</td>
<td align="right"><?php echo $pieces;?></td>
<td align="right"><?php echo number_format($total_price,2);?> บาท</td>
</tr>
<?php } ?>
<table class="table">
<tr>
<td align="right"><h3> ราคารวมสุทธิ :</h3></td>
<td><h3><?php echo number_format($_SESSION["Sumtotal"],2);?> บาท</h3></td>
</tr>
</table>
</tbody>
</table>
</div></div></div>
</FORM>
Tag : PHP, MySQL, HTML/CSS
|
|
|
|
|
|
Date :
2016-10-26 11:53:14 |
By :
no007 |
View :
5539 |
Reply :
8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ group by อะครับ แต่ สินค้าตัวเดียวกัน แต่ซื้อคนละวัน มันก็ รวมให้เหลือแค่วันเดียว จะถูกต้องตามที่อยากได้หรือเปล่า
|
|
|
|
|
Date :
2016-10-26 12:22:34 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ให้ราคา หรืออะไรรวมกัน ก็ sum ด้วยนะครับ
|
|
|
|
|
Date :
2016-10-26 14:00:46 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
select ID, วันที่ซื้อ , สินค้า , sum("จำนวน") From ....... where ....... group by วันที่ซื้อ , สินค้า order by วันที่ซื้อ asc
ประมาณนี้พอได้ปะครับ
|
|
|
|
|
Date :
2016-10-26 14:23:52 |
By :
slurpee55555 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำได้แล้วครับ ขอบคุณพี่ๆทุกคนน่ะครับ
|
|
|
|
|
Date :
2016-10-26 14:27:53 |
By :
no007 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 6 เขียนโดย : zazas2537 เมื่อวันที่ 2016-11-01 20:08:52
รายละเอียดของการตอบ ::
Code
<?php
$search_Date = "";
$search_Month = "";
$search_Year = "";
if(isset($_POST["search_bt"])){
$search_Year = $_POST["search_Year"];
$search_Month = $_POST["search_Month"];
$search_Date = $_POST["search_Date"];
//echo $search_Date."-".$search_YM;
if(($search_Date=="")and($search_Month=="")and($search_Year!="")){
$select = "Select orders.*, SUM(order_details.pieces) AS Sumpieces, order_details.pay_price, products.* From orders, order_details, products Where orders.order_id=order_details.order_id and order_details.product_id=products.product_id and orders.status='3' and DATE_FORMAT(orders.buy_date,'%Y') = '$search_Year' Group By order_details.product_id Order By products.product_id ASC ";
}elseif(($search_Date=="")and($search_Month!="")and($search_Year!="")){
$select = "Select orders.*, SUM(order_details.pieces) AS Sumpieces, order_details.pay_price, products.* From orders, order_details, products Where orders.order_id=order_details.order_id and order_details.product_id=products.product_id and orders.status='3' and DATE_FORMAT(orders.buy_date,'%Y-%m') = '$search_Year-$search_Month' Group By order_details.product_id Order By products.product_id ASC ";
}elseif(($search_Date!="")and($search_Month=="")and($search_Year!="")){
echo "<script>alert('โปรดกรอกเดือน. ด้วย.')</script>";
echo "<script>window.location='admin-seller.php'</script>";
}elseif(($search_Date!="")and($search_Month!="")and($search_Year=="")){
echo "<script>alert('โปรดกรอกปีค.ศ. ด้วย.')</script>";
echo "<script>window.location='admin-seller.php'</script>";
}elseif(($search_Date!="")and($search_Month=="")and($search_Year=="")){
echo "<script>alert('โปรดกรอกเดือนและปีค.ศ. ด้วย.')</script>";
echo "<script>window.location='admin-seller.php'</script>";
}elseif(($search_Date=="")and($search_Month=="")and($search_Year=="")){
echo "<script>alert('โปรดกรอกรายละเอียดค้นหาก่อน.')</script>";
echo "<script>window.location='admin-seller.php'</script>";
}else{
$select = "Select orders.*, SUM(order_details.pieces) AS Sumpieces, order_details.pay_price, products.* From orders, order_details, products Where orders.order_id=order_details.order_id and order_details.product_id=products.product_id and orders.status='3' and DATE_FORMAT(orders.buy_date,'%Y-%m-%d') = '$search_Year-$search_Month-$search_Date' Group By order_details.product_id Order By products.product_id ASC ";
} //SUM(order_details.pieces) AS Sumpieces หาผลรวมลงตัวแปรSumpieces, Group By เรียงข้อมูลซ้ำเหลือแถวเดียว
}else{
$select = "Select orders.*, SUM(order_details.pieces) AS Sumpieces, order_details.pay_price, products.* From orders, order_details, products Where orders.order_id=order_details.order_id and order_details.product_id=products.product_id and orders.status='3' Group By order_details.product_id Order By products.product_id ASC ";
//3table
}
unset($_SESSION["Sumtotal"]);
$query = mysqli_query($link,$select) or die(mysqli_error($link));
$result = mysqli_query($link,$select) or die(mysqli_error($link));
?>
<?php if($search_Month!=""){
if($search_Month=="01"){
$Month = "มกราคม";
}elseif($search_Month=="02"){
$Month = "กุมภาพันธ์";
}elseif($search_Month=="03"){
$Month = "มีนาคม";
}elseif($search_Month=="04"){
$Month = "เมษายน";
}elseif($search_Month=="05"){
$Month = "พฤษภาคม";
}elseif($search_Month=="06"){
$Month = "มิถุนายน";
}elseif($search_Month=="07"){
$Month = "กรกฏาคม";
}elseif($search_Month=="08"){
$Month = "สิงหาคม";
}elseif($search_Month=="09"){
$Month = "กันยายน";
}elseif($search_Month=="10"){
$Month = "ตุลาคม";
}elseif($search_Month=="11"){
$Month = "พฤศจิกายน";
}elseif($search_Month=="12"){
$Month = "ธันวาคม";
}else{
$Month = "";
}
}
?>
<title>ข้อมูลการขายสินค้า :
<?php if(($search_Date=="")and($Month=="")and($search_Year!="")){
echo $search_Year;
}elseif(($search_Date=="")and($Month!="")and($search_Year!="")){
echo $Month." ".$search_Year;
}elseif(($search_Date!="")and($Month!="")and($search_Year!="")){
echo "วันที่ ".$search_Date." ".$Month." ".$search_Year;
}else{
echo "ทั้งหมด";
}
?>
</title>
<body>
<div class="container">
<div class="container theme-showcase" role="main">
<div class="row">
<div class="">
<FORM method="POST" enctype="multipart/form-data" id="myform" name="form">
<div class="panel panel-mbrown">
<div class="hideDiv printDiv">
<table class="table table-striped" cellspacing="0">
<tr><td><center><?php echo $shops; ?><br></center><hr>
<h3 class="panel-title"><b>ข้อมูลการขายสินค้า :
<?php if(($search_Date=="")and($Month=="")and($search_Year!="")){
echo $search_Year;
}elseif(($search_Date=="")and($Month!="")and($search_Year!="")){
echo $Month." ".$search_Year;
}elseif(($search_Date!="")and($Month!="")and($search_Year!="")){
echo "วันที่ ".$search_Date." ".$Month." ".$search_Year;
}else{
echo "ทั้งหมด";
}
?>
</b></h3>
</td></tr>
</table>
</div>
<div class="panel-heading">
<div id="no_print"><!--no print-->
<h3 class="panel-title"><b>ข้อมูลการขายสินค้า :
<?php if(($search_Date=="")and($Month=="")and($search_Year!="")){
echo $search_Year;
}elseif(($search_Date=="")and($Month!="")and($search_Year!="")){
echo $Month." ".$search_Year;
}elseif(($search_Date!="")and($Month!="")and($search_Year!="")){
echo "วันที่ ".$search_Date." ".$Month." ".$search_Year;
}else{
echo "ทั้งหมด";
}
?>
</b></h3><br>
</div>
<div id="no_print"><!--no print-->
<form class="form-inline">
<div class="form-group"><center>
<!--<input type="month" class="form-control1" id="month-year" placeholder="ปีค.ศ.-เดือน เช่น 2016-10" value="<?php //echo $search_YM; ?>" style="color: black; width: 200px;" maxlength="7" name="search_YM" data-toggle="tooltip" data-placement="top" title="กรอก ปีค.ศ.-เดือน เช่น 2016-10">-->
<select class="form-control css-require" name="search_Date" id="search_Date" style="color: black;" data-toggle="tooltip" data-placement="top" title="เลือกวันที่">
<option value="">วันที่</option>
<option value="<?php echo "01" ?>"> วันที่ 1</option>
<option value="<?php echo "02" ?>"> วันที่ 2</option>
<option value="<?php echo "03" ?>"> วันที่ 3</option>
<option value="<?php echo "04" ?>"> วันที่ 4</option>
<option value="<?php echo "05" ?>"> วันที่ 5</option>
<option value="<?php echo "06" ?>"> วันที่ 6</option>
<option value="<?php echo "07" ?>"> วันที่ 7</option>
<option value="<?php echo "08" ?>"> วันที่ 8</option>
<option value="<?php echo "09" ?>"> วันที่ 9</option>
<option value="<?php echo "10" ?>"> วันที่ 10</option>
<option value="<?php echo "11" ?>"> วันที่ 11</option>
<option value="<?php echo "12" ?>"> วันที่ 12</option>
<option value="<?php echo "13" ?>"> วันที่ 13</option>
<option value="<?php echo "14" ?>"> วันที่ 14</option>
<option value="<?php echo "15" ?>"> วันที่ 15</option>
<option value="<?php echo "16" ?>"> วันที่ 16</option>
<option value="<?php echo "17" ?>"> วันที่ 17</option>
<option value="<?php echo "18" ?>"> วันที่ 18</option>
<option value="<?php echo "19" ?>"> วันที่ 19</option>
<option value="<?php echo "20" ?>"> วันที่ 20</option>
<option value="<?php echo "21" ?>"> วันที่ 21</option>
<option value="<?php echo "22" ?>"> วันที่ 22</option>
<option value="<?php echo "23" ?>"> วันที่ 23</option>
<option value="<?php echo "24" ?>"> วันที่ 24</option>
<option value="<?php echo "25" ?>"> วันที่ 25</option>
<option value="<?php echo "26" ?>"> วันที่ 26</option>
<option value="<?php echo "27" ?>"> วันที่ 27</option>
<option value="<?php echo "28" ?>"> วันที่ 28</option>
<option value="<?php echo "29" ?>"> วันที่ 29</option>
<option value="<?php echo "30" ?>"> วันที่ 30</option>
<option value="<?php echo "31" ?>"> วันที่ 31</option>
</select>
<select class="form-control css-require" name="search_Month" id="search_Month" style="color: black;" data-toggle="tooltip" data-placement="top" title="เลือกเดือน">
<option value="">เดือน</option>
<option value="<?php echo "01" ?>"> มกราคม</option>
<option value="<?php echo "02" ?>"> กุมภาพันธ์</option>
<option value="<?php echo "03" ?>"> มีนาคม</option>
<option value="<?php echo "04" ?>"> เมษายน</option>
<option value="<?php echo "05" ?>"> พฤษภาคม</option>
<option value="<?php echo "06" ?>"> มิถุนายน</option>
<option value="<?php echo "07" ?>"> กรกฏาคม</option>
<option value="<?php echo "08" ?>"> สิงหาคม</option>
<option value="<?php echo "09" ?>"> กันยายน</option>
<option value="<?php echo "10" ?>"> ตุลาคม</option>
<option value="<?php echo "11" ?>"> พฤศจิกายน</option>
<option value="<?php echo "12" ?>"> ธันวาคม</option>
</select>
<input type="number" class="form-control" id="year" placeholder="ปีค.ศ. เช่น 2016" style="color: black;" value="" maxlength="4" name="search_Year" data-toggle="tooltip" data-placement="top" title="กรอก ปีค.ศ." min="2016" onKeyUp="IsNumeric(this.value,this)">
<!--<input type="number" class="form-control1" id="month" placeholder="เดือน" style="color: black;" value="<?php //echo $search_Month; ?>" maxlength="2" name="search_Month" data-toggle="tooltip" data-placement="top" title="กรอก เดือน" max="12" min="1" onKeyUp="IsNumeric(this.value,this)">
<input type="number" class="form-control1" id="date" placeholder="วันที่" style="color: black;" value="<?php //echo $search_Date; ?>" maxlength="2" minlength="2" name="search_Date" data-toggle="tooltip" data-placement="top" title="กรอก วันที่" max="31" min="1">-->
<button type="submit" class="btn btn-success" value="search" name="search_bt"><span class="glyphicon glyphicon-search" aria-hidden="true"></span> ค้นหา</button>
<p class="help-block" style="color: white;">*ค้นหาตาม วันที่-เดือน-ปีค.ศ. <b>หรือ</b> ค้นหาตาม เดือน-ปีค.ศ. <b>หรือ</b> ค้นหาเฉพาะปีค.ศ. ก็ได้*</p>
</center></div>
</form>
</div> <!--End no print-->
</div>
<div class="table-responsive">
<div>
<table class="table table-bordered table-striped table-hover" id="//responsive-example-table" cellspacing="0">
<thead>
<tr class="info_brown">
<th width="120"><center>รหัสสินค้า</center></th>
<!--<th width="180"><center>วันที่สั่งซื้อ</center></th>-->
<th width=""><center>สินค้า</center></th>
<th width="140"><center>ราคา/ชิ้น</center></th>
<th width="120"><center>จำนวน</center></th>
<th width="140"><center>ราคารวม</center></th>
</tr>
</thead>
<tbody>
<?php
while ($data = mysqli_fetch_array($query)) {
$SumTotal = 0 ;
$total_price = 0 ;
$pieces = $data['pieces'];
$price = $data['pay_price'];
$product_name = $data['product_name'];
$product_id = $data['product_id'];
$Sumpieces = $data['Sumpieces']; //ตัวแปรเก็บผลรวมจำนวนชิ้น SUM(order_details.pieces) AS Sumpieces
$total_price = $price * $Sumpieces;
$_SESSION["Sumtotal"] = $_SESSION["Sumtotal"] + $total_price; //หาผลราคารวมทั้งหมด
?>
<tr>
<td><?php echo $product_id;?></td>
<!--<td><center><?php //echo $data['buy_date'];?></center></td>-->
<td><?php echo $product_name;?></td>
<td align="right"><?php echo number_format($price,2);?> บาท</td>
<td align="right"><?php echo $Sumpieces;?></td>
<td align="right"><?php echo number_format($total_price,2);?> บาท</td>
</tr>
<?php } ?>
<table class="table">
<tr>
<td align="right"><h3> ราคารวมสุทธิ :</h3></td>
<td><h3><?php echo number_format($_SESSION["Sumtotal"],2);?> บาท</h3></td>
</tr>
</table>
</tbody>
</table>
</div></div></div>
</FORM>
</div></div></div>
<?php mysqli_close($link); ?>
|
|
|
|
|
Date :
2016-11-04 17:15:19 |
By :
no007 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|