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

HOME > PHP > PHP Forum > รบกวนช่วย code ระบบตัดสต็อกให้ผมทีคับ ผมจนปัญญาจิงๆคับ



 

รบกวนช่วย code ระบบตัดสต็อกให้ผมทีคับ ผมจนปัญญาจิงๆคับ

 



Topic : 097031



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



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




ดาต้าเบสผมมี 3 ตาราง
1.register
ID_User รหัสสมาชิก
Name1 ชื่อสมาชิก
User ชื่อผู้ใช้งาน
Pwd รหัสผ่านผู้ใช้งาน

2.product
ID_Product รหัสสินค้า
P_name ชื่อสินค้า
P_Number จำนวนสินค้าในสต็อก
P_Price ราคาสินค้า


3.bill
ID_Buy รหัสใบสั่งซื้อสินค้า
Price ราคาทั้งหมด
P_Number2 จำนวนสินค้าที่สั่งซื้อ
ID_User รหัสสมาชิก
ID_Product รหัสสินค้า

หน้าตระกร้าสินค้าคับ order2.php
<?
	session_start();
	include('config.inc.php');
	session_register("cart");
	if($_SESSION['ID_User'] == "")
	{
		echo "<script language='javascript'>alert('Please Login');history.back();</script>";
		exit();
	}
	

	$strSQL = "SELECT * FROM register WHERE ID_User = '".$_SESSION['ID_User']."' ";
	$objQuery = mysql_query($strSQL);
	$objResult = mysql_fetch_array($objQuery);
	
	if($_REQUEST['act']=='add' && !empty($_REQUEST['ID_Product']))
	{
		if(isset($_SESSION['cart'][$_REQUEST['ID_Product']]))
		{
			$_SESSION['cart'][$_REQUEST['ID_Product']]++;
		}
		else
		{
			$_SESSION['cart'][$_REQUEST['ID_Product']]=1;
		}
	}
	
	if($_REQUEST['act']=='remove' && !empty($_REQUEST['ID_Product']))
	{
		unset($_SESSION['cart'][$_REQUEST['ID_Product']]);
	}
	
	if($_REQUEST['act']=='update')
	{
		foreach($_POST['qty'] as $_SESSION['ID_Product']=>$_SESSION['qty'])
		{
			$_SESSION['cart'][$_SESSION['ID_Product']]=$_SESSION['qty'];
		}
	}
?>

	<form id="frmcart" name="frmcart" method="post" action="?act=update">
  <table width="600" border="1" align="center">
  <tr>
  <td>Cart</td>
  </tr>
  <tr>
  <td>Product</td>
  <td width="117">Price</td>
  <td width="25">Unit</td>
  <td width="42">include</td>
  <td width="51">Remove</td>
  </tr>
  
 <?
 	$total=0;
	if(!empty($_SESSION['cart']))
	{
		foreach($_SESSION['cart'] as $_SESSION['ID_Product']=>$_SESSION['qty'])
		{
		$sql = "SELECT * FROM product where ID_Product = '".$_SESSION['ID_Product']."' ";
		$query = mysql_query($sql) or die ("error=$sql");
		$objResult = mysql_fetch_array($query);
		$_SESSION['P_Price'] = $objResult['P_Price'];
		$sum = $_SESSION['P_Price']*$_SESSION['qty'];
		$_SESSION['total'] += $sum;
  ?>
  <tr>
  	<td width="334"><?=$objResult["P_name"]?></td>
    <td width="46" align="right"><?=$_SESSION['P_Price']?></td>
    <td width="57" align="right">
    <input type="text" name="qty[<?=$_SESSION['ID_Product']?>]" value="<?=$_SESSION['qty']?>" size="2" />
    </td>
    <td width="93" align="right"><?=$sum?></td>
    <td><a href="order.php?ID_Product=<?=$_SESSION['ID_Product']?>&act=remove">remove</td>
   </tr>
   
   <?
   }
   ?>
   <tr>
   	<td>total</td>
    <td><?=$_SESSION['total']?></td>
   </tr>
   <tr>
   	<td><a href="user_page.php?id=2">BACK TO PRODUCT</a></td>
    <td>
    <input type="submit" name="button" id="button" value="update" />
    <input type="button" name="submit2" value="Checkout" onclick="window.location='order3.php';" />
    </td>
   </tr>
   
  <?
  }else
  {
  echo "NO CART";
  }
  ?>
  </table>
  </form>




Tag : PHP, MySQL









ประวัติการแก้ไข
2013-06-26 14:27:07
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-06-25 22:41:59 By : woraman View : 1085 Reply : 15
 

 

No. 1



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

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

ตอนนี้ติดอะไรยังไงครับ?






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-25 23:33:36 By : Manussawin
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : Manussawin เมื่อวันที่ 2013-06-25 23:33:36
รายละเอียดของการตอบ ::
ผมต้องการให้ insert ข้อมูลลงใน ตาราง bill แล้วก็ นำ P_Number - P_Number2 แล้วทำการตัดสต็อก แต่เขียน code ไม่ถูก

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-25 23:46:02 By : woraman
 

 

No. 3



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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


ออกแบบ Database ก็ไม่น่าจะเวิร์คแล้วคร้บ แบบนี้ bill <----> product เป็น 1 : 1
ต้องเพิ่ม table bill_detail เพื่อเก็บ id ของ bill มาใส่ตอน each cart ลง bill_detail อะครับ

ลองคิดตามแล้วไปลองทำใหม่นะ อยากให้ลองคิดดูครับ บอกหมดจะไม่ได้คิดเอา ถ้าทำแล้วไม่ได้ยังไงค่อยมาถามใหม่ หรือไม่เข้าใจยังไงก็ถาม เจาะประเด็นมาแยกเป็นข้อๆ มาเลย คนตอบจะได้ตอบได้ง่ายและตรงประเด็นนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-26 00:00:44 By : PlaKriM
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : PlaKriM เมื่อวันที่ 2013-06-26 00:00:44
รายละเอียดของการตอบ ::
คือปัญหาตอนนี้คือ แล้วมันก็ตัดสต็อกเฉพาะสินค้าที่สั่งชิ้นแรกคับ ชิ้นที่ 2 มันจะไม่ตัดคับ

<?
session_start();
include('config.inc.php');
session_register("cart");

?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?
include("config.inc.php");
$strSQL = "INSERT INTO bill ";
$strSQL .="(Price,P_Number2,ID_User,ID_Product) ";
$strSQL .="VALUES ";
$strSQL .="('".$_SESSION['total']."','".$_SESSION['qty']."','".$_SESSION["ID_User"]."','".$_SESSION["ID_Product"]."') ";
$objQuery = mysql_query($strSQL);

if($objQuery)
{
include("config.inc.php");


$total=0;
foreach($_SESSION['cart'] as $_SESSION['ID_Product']=>$_SESSION['qty'])
{
$sql = "SELECT * FROM product where ID_Product = '".$_SESSION['ID_Product']."' ";
$query = mysql_query($sql) or die ("error=$sql");
$objResult = mysql_fetch_array($query);
$_SESSION['P_Price'] = $objResult['P_Price'];
$sum = $_SESSION['P_Price']*$_SESSION['qty'];
$_SESSION['total'] += $sum;
//$total1 = $objResult['P_Number']-$qty;
$strSQL = "Update product Set P_Number = P_Number - '".$_SESSION['qty']."' WHERE ID_Product = '".$_SESSION['ID_Product']."' ";
$objQuery = mysql_query($strSQL);

echo "<script language=\"JavaScript\" type=\"text/JavaScript\">alert('แก้ไขข้อมูลเรียบร้อยแล้วค่ะ') </script> ";
echo"<meta http-equiv='refresh' content='0;url=user_page.php?id=2'>";
exit();


mysql_close();

}
}
?>





ประวัติการแก้ไข
2013-06-26 14:22:48
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-26 13:14:04 By : woraman
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : Manussawin เมื่อวันที่ 2013-06-25 23:33:36
รายละเอียดของการตอบ ::
คือปัญหาตอนนี้คือ แล้วมันก็ตัดสต็อกเฉพาะสินค้าที่สั่งชิ้นแรกคับ ชิ้นที่ 2 มันจะไม่ตัดคับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-26 14:24:50 By : woraman
 


 

No. 6



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



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

มองภาพไม่ออก พยายามจินตนาการอยู่ครับ
20 - 2 = 18
18 - 1 = 17

ตอนนี้ 18-1 แล้วเหลือ 18 เหมือนเดิมเหรอครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-26 15:19:56 By : {Cyberman}
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : {Cyberman} เมื่อวันที่ 2013-06-26 15:19:56
รายละเอียดของการตอบ ::
คือ มีเลือกสินค้า มา 3 อย่างคับ
แต่มันจะเลือกอัพเดท สินค้าชิ้นแรก
ส่วนชิ้นที่ 2 กับชิ้นที่ 3 จะไม่มีการอัพเดทคับ



ประวัติการแก้ไข
2013-06-26 15:46:11
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-26 15:44:18 By : woraman
 


 

No. 8



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



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


ถ้าให้ผมแนะนำคือ อยากให้ลอง print ตัวแปร $strSQL ออกมาดูก่อนครับว่า มันวนค่าถูกต้องหรือเปล่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-26 16:05:01 By : zinlucifer
 


 

No. 9



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



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

งั้นประเด็นคงอยู่ที่ตรงนี้

foreach($_SESSION['cart'] as $_SESSION['ID_Product']=>$_SESSION['qty']){


}

ลองใช้คำสั่ง echo '<pre>', print_r($_SESSION['cart'], true), '</pre>'; ก่อน foreach
แล้วเอามาดูกันครับ ว่าส่งอะไรมาบ้าง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-26 16:12:51 By : {Cyberman}
 


 

No. 10



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



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

เพิ่งสังเกตเห็น แต่บอกไม่ถูกว่าบรรทัดที่เท่าไหร่ เพราะไม่ใส่เป็น PHP Code

echo "<script language=\"JavaScript\" type=\"text/JavaScript\">alert('แก้ไขข้อมูลเรียบร้อยแล้วค่ะ') </script> ";
echo"<meta http-equiv='refresh' content='0;url=user_page.php?id=2'>";
exit();


mysql_close();

ต้องอยู่นอกลูป foreach นะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-26 16:16:10 By : {Cyberman}
 


 

No. 11



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



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


ตอบความคิดเห็นที่ : 10 เขียนโดย : {Cyberman} เมื่อวันที่ 2013-06-26 16:16:10
รายละเอียดของการตอบ ::
Array
(
[999999] => 2
[7778] => 1
[00016] => 1
)
error=SELECT * FROM product where ID_Product = '7778'

งงเลยคับ เหมือนกันมันสินค้าชิ้นที่ 2 มันไม่มีที่เก็บรึป่าวคับ ช่วยแนะนำด้วยคับ
ตาราง Product
ตาราง Product
ตาราง bill
ตาราง bill



ประวัติการแก้ไข
2013-06-26 17:01:42
2013-06-26 17:03:25
2013-06-26 17:03:59
2013-06-26 17:05:41
2013-06-26 17:06:02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-26 16:52:25 By : woraman
 


 

No. 12



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



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

ย้ายในส่วนที่ผมพูดถึง ใน No. 10 ออกรึยังครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-26 18:03:25 By : {Cyberman}
 


 

No. 13



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



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


ตอบความคิดเห็นที่ : 12 เขียนโดย : {Cyberman} เมื่อวันที่ 2013-06-26 18:03:25
รายละเอียดของการตอบ ::
<?
session_start();
include('config.inc.php');
session_register("cart");

?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?
include("config.inc.php");
$strSQL = "INSERT INTO bill ";
$strSQL .="(Price,P_Number2,ID_User,ID_Product) ";
$strSQL .="VALUES ";
$strSQL .="('".$_SESSION['total']."','".$_SESSION['qty']."','".$_SESSION["ID_User"]."','".$_SESSION["ID_Product"]."') ";
$objQuery = mysql_query($strSQL);

if($objQuery)
{
include("config.inc.php");


$total=0;
echo '<pre>', print_r($_SESSION['cart'], true), '</pre>';

foreach($_SESSION['cart'] as $_SESSION['ID_Product']=>$_SESSION['qty'])
{
$sql = "SELECT * FROM product where ID_Product = '".$_SESSION['ID_Product']."' ";
$query = mysql_query($sql) or die ("error=$sql");
$objResult = mysql_fetch_array($query);
$_SESSION['P_Price'] = $objResult['P_Price'];
$sum = $_SESSION['P_Price']*$_SESSION['qty'];
$_SESSION['total'] += $sum;

$strSQL = "Update product Set P_Number = P_Number - '".$_SESSION['qty']."' WHERE ID_Product = '".$_SESSION['ID_Product']."' ";
$objQuery = mysql_query($strSQL);



mysql_close();

}
}
?>

echo "<script language=\"JavaScript\" type=\"text/JavaScript\">alert('แก้ไขข้อมูลเรียบร้อยแล้วค่ะ') </script> ";
echo"<meta http-equiv='refresh' content='0;url=user_page.php?id=2'>";
exit();


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-26 21:30:10 By : woraman
 


 

No. 14



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



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

ทำงานไม่เสร็จอย่าเพิ่งปิดการเชื่อมต่อฐานข้อมูลครับ
mysql_close();

ตัวนี้ก็ย้ายออกไปไว้นอกลูปด้วยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-27 08:36:07 By : {Cyberman}
 


 

No. 15



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



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


ตอบความคิดเห็นที่ : 14 เขียนโดย : {Cyberman} เมื่อวันที่ 2013-06-27 08:36:07
รายละเอียดของการตอบ ::
ตอนนี้ตัดสต็อกได้แล้วคับ ย้ายไปไว้นอกลูป เหลือแต่ มัน insert สินค้าเข้าแค่อย่างเดียวอ่ะ สมมติสั่งสินค้า 3 อย่าง มันจะ insert สินค้าแค่ชิ้นเดียวอ่ะคับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-27 12:09:33 By : woraman
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนช่วย code ระบบตัดสต็อกให้ผมทีคับ ผมจนปัญญาจิงๆคับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่