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,027

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



 

สอบถามถามการ 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 : 653 Reply : 14
 

 

No. 1



โพสกระทู้ ( 9,542 )
บทความ ( 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)
<?php
session_start();

$serverName = "localhost";
$userName = "root";
$userPassword = "12345678";
$dbName = "mydatabase";

$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
if (!$conn) {
	echo $conn->connect_error;
	exit();
}
 /*
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
echo "<br/>";
echo "<pre>";
print_r($_POST);
echo "</pre>";
exit();
*/

  $Subtotal = $_POST["Subtotal"];
  $Balance = $_POST["SumTotal"];
  $Received = $_POST["Received"];
  $Refund = $_POST["Refund"];
  $Credit = $_POST["Credit"];
  $Save = $_POST["m_name"];
  $Type = $_POST["Type"];
   
  $strSQL = "
	INSERT INTO orders (OrderDate,Balance,Received,Refund,Credit,Save)
	VALUES
	('".date("Y-m-d H:i:s")."','".$_POST["Balance"]."' ,'".$_POST["Received"]."','".$_POST["Refund"]."','".$_POST["Credit"]."','".$_POST["Save"]."' ) 
  ";
  $objQuery = mysqli_query($conn,$strSQL);
  if(!$objQuery)
  {
	echo $conn->error;
	exit();
  }

  $strOrderID = mysqli_insert_id($conn);

  for($i=0;$i<=(int)$_SESSION["intLine"];$i++)
  {
	  if($_SESSION["strProductID"][$i] != "")
	    {
			  $strSQL = "
				INSERT INTO orders_detail (OrderID,ProductID,Barcode,Qty,Type)
				VALUES
				('".$strOrderID."','".$_SESSION["strProductID"][$i]."','".$_SESSION["Barcode"][$i]."','".$_SESSION["strQty"][$i]."','".$_POST["Type"][$i]."')";
			    $result = mysqli_query($conn,$strSQL);
			    if(!$result)
			    {
					echo $conn->error;
					 exit();  
				}	
				else
				{
					$update = "UPDATE producttestqty SET Qty = Qty-'".$_SESSION["strQty"][$i]."' WHERE Barcode = '".$_SESSION["Barcode"][$i]."' ";
				    mysqli_query($conn,$update) or die(mysqli_error($conn));
					if(!$update){
					 echo $conn->error;
					 exit();  
				    }
				} 
		}
}

mysqli_close($conn);
unset($_SESSION['strProductID']);
unset($_SESSION['strQty']);
header("location:cusshoworder.php?OrderID=".$strOrderID);							  
?>

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

 

No. 3



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



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


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

Code (PHP)
//ส่งค่า
<a href="customerdelete.php?Line=<?=$i;?>">del</a>

//รับค่ามาลบ
<?php
	ob_start();
	session_start();
	
	if(isset($_GET["Line"]))
	{
		$Line = $_GET["Line"];
		$_SESSION["strProductID"][$Line] = "";
		$_SESSION["strQty"][$Line] = "";
	}
	header("location:customerconfirm.php");
?>


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


 

No. 4



โพสกระทู้ ( 9,542 )
บทความ ( 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,542 )
บทความ ( 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)
<?php
			session_start();
			
			if(!isset($_SESSION["intLine"]))
			{
				echo "ยังไม่มีรายการสั่งซื้อ";
				exit();
			}

			$serverName = "localhost";
			$userName = "root";
			$userPassword = "12345678";
			$dbName = "mydatabase";

			$objCon = mysqli_connect($serverName,$userName,$userPassword,$dbName);
			if (!$objCon) {
				echo $objCon->connect_error;
				exit();
			}
			?>
<?php
				$ProductID = ''; 
				if( isset( $_GET['strProductID'])) {
					$ProductID = $_GET['strProductID']; 
				} 
			  $i = 0;
			  $Credit = 0;
			  $Total = 0;
			  $SumTotal = 0;

			  for($i=0;$i<=(int)$_SESSION["intLine"];$i++)
			  {
				  if($_SESSION["strProductID"][$i] != "")
				  {
					$strSQL = "SELECT * FROM product_type WHERE ProductID = '".$_SESSION["strProductID"][$i]."' ";
					$objQuery = mysqli_query($objCon,$strSQL);
					$objResult = $objResult = mysqli_fetch_array($objQuery,MYSQLI_ASSOC);
					$Total = $_SESSION["strQty"][$i] * $objResult["Price"];
					$SumTotal = $SumTotal + $Total;
					$Credit = $Credit + $Total;
				  ?>
				  <tr>
					<td><?=$objResult["Barcode"];?><input type="hidden" name="Barcode[]" id="Barcode" value="<?=$objResult["ProductName"];?>"></td>
					<td><?=$objResult["ProductName"];?><input type="hidden" name="Type[]" id="Type" value="<?=$objResult["Type"];?>"></td>
					<td><?=$objResult["Price"];?></td>
					<td><?=$_SESSION["strQty"][$i];?></td>
					<td><?=number_format($Total,2);?></td>
				  </tr>
				</tbody>  
				  <?php
				  }
			  }
				 
			  ?>




หน้านี้หน้ารับครับ
Code (PHP)
<?php
session_start();

$serverName = "localhost";
$userName = "root";
$userPassword = "12345678";
$dbName = "mydatabase";

$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
if (!$conn) {
	echo $conn->connect_error;
	exit();
}
 /*
echo "<pre>";
print_r($_SESSION);
echo "</pre>";
echo "<br/>";
echo "<pre>";
print_r($_POST);
echo "</pre>";
exit();
*/

  $Subtotal = $_POST["Subtotal"];
  $Balance = $_POST["SumTotal"];
  $Received = $_POST["Received"];
  $Refund = $_POST["Refund"];
  $Credit = $_POST["Credit"];
  $Save = $_POST["m_name"];
  $Type = $_POST["Type"];
   
  $strSQL = "
	INSERT INTO orders (OrderDate,Balance,Received,Refund,Credit,Save)
	VALUES
	('".date("Y-m-d H:i:s")."','".$_POST["Balance"]."' ,'".$_POST["Received"]."','".$_POST["Refund"]."','".$_POST["Credit"]."','".$_POST["Save"]."' ) 
  ";
  $objQuery = mysqli_query($conn,$strSQL);
  if(!$objQuery)
  {
	echo $conn->error;
	exit();
  }

  $strOrderID = mysqli_insert_id($conn);

  for($i=0;$i<=(int)$_SESSION["intLine"];$i++)
  {
	  if($_SESSION["strProductID"][$i] != "")
	    {
			  $strSQL = "
				INSERT INTO orders_detail (OrderID,ProductID,Barcode,Qty,Type)
				VALUES
				('".$strOrderID."','".$_SESSION["strProductID"][$i]."','".$_SESSION["Barcode"][$i]."','".$_SESSION["strQty"][$i]."','".$_POST["Type"][$i]."')";
			    $result = mysqli_query($conn,$strSQL);
			    if(!$result)
			    {
					echo $conn->error;
					 exit();  
				}	
				else
				{
					$update = "UPDATE producttestqty SET Qty = Qty-'".$_SESSION["strQty"][$i]."' WHERE Barcode = '".$_SESSION["Barcode"][$i]."' ";
				    mysqli_query($conn,$update) or die(mysqli_error($conn));
					if(!$update){
					 echo $conn->error;
					 exit();  
				    }
				} 
		}
}

mysqli_close($conn);
unset($_SESSION['strProductID']);
unset($_SESSION['strQty']);
header("location:cusshoworder.php?OrderID=".$strOrderID);							  
?>


อันนี้รูปที่บันทึกแต่ละครั้งครับ
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,542 )
บทความ ( 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,542 )
บทความ ( 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,542 )
บทความ ( 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)
<?=$_SESSION["strQty"][$i];?>

<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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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