Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > สอบถามถามการ sum ยอดสินค้าที่ขายออกหน่อยครับ ขอรบกวนด้วยครับ


[PHP] สอบถามถามการ sum ยอดสินค้าที่ขายออกหน่อยครับ ขอรบกวนด้วยครับ

 
Topic : 133122



โพสกระทู้ ( 76 )
บทความ ( 0 )



สถานะออฟไลน์



คืออยากจะได้จำนวนที่ขายสินค้าแต่ละวันครับ
สินค้ารหัส จำนวนที่ขาย
P0001 100
P0002 50

รูปภาพครับ
8888



Tag : PHP, MySQL

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2019-02-13 17:23:24 By : HLEW View : 793 Reply : 14
 

 

No. 1



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



สถานะออฟไลน์


ศึ่กษาคำสั่ง sum , group by ของ sql statement
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-14 08:00:45 By : Chaidhanan
 

 

No. 2



โพสกระทู้ ( 76 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2019-02-14 08:00:45
รายละเอียดของการตอบ ::
ผมลองทดสอบดูแล้วคับ แต่เนื่องจากโจทย์ของผมคือแยกราคาตามลูกค้า ผมจึงกำหนด Type เพิ่มว่าตอนบันทึกว่ามี Type อะไรบ้าง
ผลออกมาก็ได้ตามต้องการ
แต่ก็ยังมิวายมีปัญหาเกิดขึ้นอีกคับ คือว่า Type ที่ไว้เช็คค่า เวลาผมบันทึกเสร็จก็จะขายสินค้าใหม่แต่ครั้งนี้ค่า Type ไม่บันทึกให้คับยกเว้นผมจะ login เข้ามาแล้วขายใหม่ Type จึงจะบันทึก ผมปริ้นเช็ดก่อนบันทึกทุกรอบค่าก็ส่งถูกส่งมาแต่มันไม่บันทึก ให้คับ

ตอนส่งค่าค่า
555

หน้ารับคับ
Code (PHP)
01.<?php
02.session_start();
03. 
04.$serverName = "localhost";
05.$userName = "root";
06.$userPassword = "12345678";
07.$dbName = "mydatabase";
08. 
09.$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
10.if (!$conn) {
11.    echo $conn->connect_error;
12.    exit();
13.}
14. /*
15.echo "<pre>";
16.print_r($_SESSION);
17.echo "</pre>";
18.echo "<br/>";
19.echo "<pre>";
20.print_r($_POST);
21.echo "</pre>";
22.exit();
23.*/
24. 
25.  $Subtotal = $_POST["Subtotal"];
26.  $Balance = $_POST["SumTotal"];
27.  $Received = $_POST["Received"];
28.  $Refund = $_POST["Refund"];
29.  $Credit = $_POST["Credit"];
30.  $Save = $_POST["m_name"];
31.  $Type = $_POST["Type"];
32.    
33.  $strSQL = "
34.    INSERT INTO orders (OrderDate,Balance,Received,Refund,Credit,Save)
35.    VALUES
36.    ('".date("Y-m-d H:i:s")."','".$_POST["Balance"]."' ,'".$_POST["Received"]."','".$_POST["Refund"]."','".$_POST["Credit"]."','".$_POST["Save"]."' )
37.  ";
38.  $objQuery = mysqli_query($conn,$strSQL);
39.  if(!$objQuery)
40.  {
41.    echo $conn->error;
42.    exit();
43.  }
44. 
45.  $strOrderID = mysqli_insert_id($conn);
46. 
47.  for($i=0;$i<=(int)$_SESSION["intLine"];$i++)
48.  {
49.      if($_SESSION["strProductID"][$i] != "")
50.        {
51.              $strSQL = "
52.                INSERT INTO orders_detail (OrderID,ProductID,Barcode,Qty,Type)
53.                VALUES
54.                ('".$strOrderID."','".$_SESSION["strProductID"][$i]."','".$_SESSION["Barcode"][$i]."','".$_SESSION["strQty"][$i]."','".$_POST["Type"][$i]."')";
55.                $result = mysqli_query($conn,$strSQL);
56.                if(!$result)
57.                {
58.                    echo $conn->error;
59.                     exit(); 
60.                }  
61.                else
62.                {
63.                    $update = "UPDATE producttestqty SET Qty = Qty-'".$_SESSION["strQty"][$i]."' WHERE Barcode = '".$_SESSION["Barcode"][$i]."' ";
64.                    mysqli_query($conn,$update) or die(mysqli_error($conn));
65.                    if(!$update){
66.                     echo $conn->error;
67.                     exit(); 
68.                    }
69.                }
70.        }
71.}
72. 
73.mysqli_close($conn);
74.unset($_SESSION['strProductID']);
75.unset($_SESSION['strQty']);
76.header("location:cusshoworder.php?OrderID=".$strOrderID);                            
77.?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-14 12:18:08 By : HLEW
 

 

No. 3



โพสกระทู้ ( 76 )
บทความ ( 0 )



สถานะออฟไลน์


แล้วอีกปัญหาที่เจอคือ เวลาลบสินค้าก็ยังมีค่าว่างส่งมาด้วย ทำให้การค่า Type บางรายการบันทึกข้าเป็น 0
จึงเช็คค่า Type เป็นสินค้าตัวไหน

Code (PHP)
01.//ส่งค่า
02.<a href="customerdelete.php?Line=<?=$i;?>">del</a>
03. 
04.//รับค่ามาลบ
05.<?php
06.    ob_start();
07.    session_start();
08.     
09.    if(isset($_GET["Line"]))
10.    {
11.        $Line = $_GET["Line"];
12.        $_SESSION["strProductID"][$Line] = "";
13.        $_SESSION["strQty"][$Line] = "";
14.    }
15.    header("location:customerconfirm.php");
16.?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-14 12:26:11 By : HLEW
 

 

No. 4



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



สถานะออฟไลน์


ตรวจสอบค่า $_POST มาถูกต้องไหม ตอนส่งมาใช้ตัวแปรถูกหรือไม่

การเขียนโค๊ดคิวรี่ ให้คำนึงถีง sql injection ไว้ด้วย ใช้คำสัง prepare ดีกว่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-14 12:29:59 By : Chaidhanan
 

 

No. 5



โพสกระทู้ ( 76 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : Chaidhanan เมื่อวันที่ 2019-02-14 12:29:59
รายละเอียดของการตอบ ::
ค่าตัวแปรถูกต้องคับ ประเดนคือ Type ถึงจะคีย์ขายอีกกี่บิลมันก็จะไม่บันทึกค่า Type ให้อีกจนกว่าจะ logout และ login กลับเข้ามาใหม่

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-14 13:10:23 By : HLEW
 

 

No. 6



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



สถานะออฟไลน์


ตรงไหนคือคำสั่งเก็บค่า type ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-14 13:19:42 By : Chaidhanan
 

 

No. 7



โพสกระทู้ ( 76 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 6 เขียนโดย : Chaidhanan เมื่อวันที่ 2019-02-14 13:19:42
รายละเอียดของการตอบ ::
ส่งมาจากหน้านี้คับ
Code (PHP)
01.<?php
02.            session_start();
03.             
04.            if(!isset($_SESSION["intLine"]))
05.            {
06.                echo "ยังไม่มีรายการสั่งซื้อ";
07.                exit();
08.            }
09. 
10.            $serverName = "localhost";
11.            $userName = "root";
12.            $userPassword = "12345678";
13.            $dbName = "mydatabase";
14. 
15.            $objCon = mysqli_connect($serverName,$userName,$userPassword,$dbName);
16.            if (!$objCon) {
17.                echo $objCon->connect_error;
18.                exit();
19.            }
20.            ?>
21.<?php
22.                $ProductID = '';
23.                if( isset( $_GET['strProductID'])) {
24.                    $ProductID = $_GET['strProductID'];
25.                }
26.              $i = 0;
27.              $Credit = 0;
28.              $Total = 0;
29.              $SumTotal = 0;
30. 
31.              for($i=0;$i<=(int)$_SESSION["intLine"];$i++)
32.              {
33.                  if($_SESSION["strProductID"][$i] != "")
34.                  {
35.                    $strSQL = "SELECT * FROM product_type WHERE ProductID = '".$_SESSION["strProductID"][$i]."' ";
36.                    $objQuery = mysqli_query($objCon,$strSQL);
37.                    $objResult = $objResult = mysqli_fetch_array($objQuery,MYSQLI_ASSOC);
38.                    $Total = $_SESSION["strQty"][$i] * $objResult["Price"];
39.                    $SumTotal = $SumTotal + $Total;
40.                    $Credit = $Credit + $Total;
41.                  ?>
42.                  <tr>
43.                    <td><?=$objResult["Barcode"];?><input type="hidden" name="Barcode[]" id="Barcode" value="<?=$objResult["ProductName"];?>"></td>
44.                    <td><?=$objResult["ProductName"];?><input type="hidden" name="Type[]" id="Type" value="<?=$objResult["Type"];?>"></td>
45.                    <td><?=$objResult["Price"];?></td>
46.                    <td><?=$_SESSION["strQty"][$i];?></td>
47.                    <td><?=number_format($Total,2);?></td>
48.                  </tr>
49.                </tbody> 
50.                  <?php
51.                  }
52.              }
53.                  
54.              ?>




หน้านี้หน้ารับครับ
Code (PHP)
01.<?php
02.session_start();
03. 
04.$serverName = "localhost";
05.$userName = "root";
06.$userPassword = "12345678";
07.$dbName = "mydatabase";
08. 
09.$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
10.if (!$conn) {
11.    echo $conn->connect_error;
12.    exit();
13.}
14. /*
15.echo "<pre>";
16.print_r($_SESSION);
17.echo "</pre>";
18.echo "<br/>";
19.echo "<pre>";
20.print_r($_POST);
21.echo "</pre>";
22.exit();
23.*/
24. 
25.  $Subtotal = $_POST["Subtotal"];
26.  $Balance = $_POST["SumTotal"];
27.  $Received = $_POST["Received"];
28.  $Refund = $_POST["Refund"];
29.  $Credit = $_POST["Credit"];
30.  $Save = $_POST["m_name"];
31.  $Type = $_POST["Type"];
32.    
33.  $strSQL = "
34.    INSERT INTO orders (OrderDate,Balance,Received,Refund,Credit,Save)
35.    VALUES
36.    ('".date("Y-m-d H:i:s")."','".$_POST["Balance"]."' ,'".$_POST["Received"]."','".$_POST["Refund"]."','".$_POST["Credit"]."','".$_POST["Save"]."' )
37.  ";
38.  $objQuery = mysqli_query($conn,$strSQL);
39.  if(!$objQuery)
40.  {
41.    echo $conn->error;
42.    exit();
43.  }
44. 
45.  $strOrderID = mysqli_insert_id($conn);
46. 
47.  for($i=0;$i<=(int)$_SESSION["intLine"];$i++)
48.  {
49.      if($_SESSION["strProductID"][$i] != "")
50.        {
51.              $strSQL = "
52.                INSERT INTO orders_detail (OrderID,ProductID,Barcode,Qty,Type)
53.                VALUES
54.                ('".$strOrderID."','".$_SESSION["strProductID"][$i]."','".$_SESSION["Barcode"][$i]."','".$_SESSION["strQty"][$i]."','".$_POST["Type"][$i]."')";
55.                $result = mysqli_query($conn,$strSQL);
56.                if(!$result)
57.                {
58.                    echo $conn->error;
59.                     exit(); 
60.                }  
61.                else
62.                {
63.                    $update = "UPDATE producttestqty SET Qty = Qty-'".$_SESSION["strQty"][$i]."' WHERE Barcode = '".$_SESSION["Barcode"][$i]."' ";
64.                    mysqli_query($conn,$update) or die(mysqli_error($conn));
65.                    if(!$update){
66.                     echo $conn->error;
67.                     exit(); 
68.                    }
69.                }
70.        }
71.}
72. 
73.mysqli_close($conn);
74.unset($_SESSION['strProductID']);
75.unset($_SESSION['strQty']);
76.header("location:cusshoworder.php?OrderID=".$strOrderID);                            
77.?>


อันนี้รูปที่บันทึกแต่ละครั้งครับ
66
777
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-14 16:11:28 By : HLEW
 

 

No. 8



โพสกระทู้ ( 76 )
บทความ ( 0 )



สถานะออฟไลน์


ในหน้ารับตั้งแต่บรรทัดที่ 45 - 54 คับวนลูปตามจำนวนที่ส่งมา
ผมลืมบอกคับตารางสินค้าผมเก็บข้อมูลแบบนี้คับ
99


ประวัติการแก้ไข
2019-02-14 16:28:03
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-14 16:22:13 By : HLEW
 

 

No. 9



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



สถานะออฟไลน์


$Type = $_POST["Type"]; // ตอนรับค่า

// ตอน insert
$strSQL = "INSERT INTO orders_detail (OrderID,ProductID,Barcode,Qty,Type) VALUES
('".$strOrderID."','".$_SESSION["strProductID"][$i]."','".$_SESSION["Barcode"][$i]."','".$_SESSION["strQty"][$i]."','".$_POST["Type"][$i]."')";

แน่จะนะครับว่า ตอน รับค่า type มาเป็น array
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-14 17:06:58 By : Chaidhanan
 

 

No. 10



โพสกระทู้ ( 76 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 9 เขียนโดย : Chaidhanan เมื่อวันที่ 2019-02-14 17:06:58
รายละเอียดของการตอบ ::
ในหน้าส่งบรรทัดที่ 43-45 คับ แต่ผมแน่ใจมากคับค่าก่อนบันทึกมันครบตามข้อมูลสินค้า

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-15 07:15:10 By : HLEW
 

 

No. 11



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



สถานะออฟไลน์


บันทัดที่ 31 ตัวรับ

$Type = $_POST["Type"];
print_r($Type); รองตรวจสอบดูหน่อยครับ จากโค๊ดก็ไม่น่าจะผิด ควรได้รับค่าแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-15 09:53:10 By : Chaidhanan
 

 

No. 12



โพสกระทู้ ( 76 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 11 เขียนโดย : Chaidhanan เมื่อวันที่ 2019-02-15 09:53:10
รายละเอียดของการตอบ ::
ค่าก็มาทุกรอบนะครับ ผมก็งง จะบันทึกได้ก็ต่อเมื่อ logout แล้ว login กลับเข้ามาใหม่

oo
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-16 01:36:45 By : HLEW
 

 

No. 13



โพสกระทู้ ( 9,590 )
บทความ ( 2 )



สถานะออฟไลน์


ลองวิเคราะห์ index key ซักหน่อยครับ product_id มันเป็น 8 9 10 11
แต่ barcode กับ type มันเป็น 0 1 2 3 มันคงไม่แมทกัน หรือเปล่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-16 08:39:38 By : Chaidhanan
 

 

No. 14



โพสกระทู้ ( 76 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 13 เขียนโดย : Chaidhanan เมื่อวันที่ 2019-02-16 08:39:38
รายละเอียดของการตอบ ::
พี่คับมันจะเกี่ยวกันไหมคับ SESSION กับ ARRAY มันส่งมาสองแบบ คือ
Code (PHP)
1.<?=$_SESSION["strQty"][$i];?>
2. 
3.<input type="hidden" name="Type[]" id="Type" value="<?=$objResult["Type"];?>">


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-18 10:41:41 By : HLEW
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามถามการ sum ยอดสินค้าที่ขายออกหน่อยครับ ขอรบกวนด้วยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่