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

Registered : 108,844

HOME > PHP > PHP Forum > เห็นถามกันบ่อยๆ php เก็บสินค้าลงในตะกร้าลง ด้วย session แบบไม่ให้เลือกสินค้าซ้ำ หรือ เลือกซ้ำแล้วจะให้บวกเพิ่มทีล่ะหนึ่ง



 

เห็นถามกันบ่อยๆ php เก็บสินค้าลงในตะกร้าลง ด้วย session แบบไม่ให้เลือกสินค้าซ้ำ หรือ เลือกซ้ำแล้วจะให้บวกเพิ่มทีล่ะหนึ่ง

 



Topic : 075528



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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



เห็นถามกันบ่อยๆ php เก็บสินค้าลงในตะกร้าลง ด้วย session แบบไม่ให้เลือกสินค้าซ้ำ หรือ เลือกซ้ำแล้วจะให้บวกเพิ่มทีล่ะหนึ่ง ไปค้นเอา code เก่า ๆ ที่เขียนไว้ซะเกือบ 5-6 ปีมาให้นำไปดัดแปลงใช้กันดูครับ

โครงสร้างตาราง

1

CREATE TABLE `product` (
  `ProductID` int(4) NOT NULL auto_increment,
  `ProductName` varchar(100) NOT NULL,
  `Price` double NOT NULL,
  PRIMARY KEY  (`ProductID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

-- 
-- Dumping data for table `product`
-- 

INSERT INTO `product` VALUES (1, 'Product 1', 100);
INSERT INTO `product` VALUES (2, 'Product 2', 200);
INSERT INTO `product` VALUES (3, 'Product 3', 300);
INSERT INTO `product` VALUES (4, 'Product 4', 400);




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-03-14 14:47:47 By : webmaster View : 15153 Reply : 25
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

อันนี้แบบเลือกซ้ำ จะให้บวก 1 เข้าไป

product.php
<?
//session_start();
//session_destroy();
?><html>
<head>
<title>ThaiCreate.Com</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<?
mysql_connect("localhost","root","root");
mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM product";
$objQuery = mysql_query($strSQL);
?>
<table width="327"  border="1">
  <tr>
    <td width="101">ProductID</td>
    <td width="82">ProductName</td>
    <td width="79">Price</td>
    <td width="37">Cart</td>
  </tr>
  <?
  while($objResult = mysql_fetch_array($objQuery))
  {
  ?>
  <tr>
    <td><?=$objResult["ProductID"];?></td>
    <td><?=$objResult["ProductName"];?></td>
    <td><?=$objResult["Price"];?></td>
    <td><a href="order.php?ProductID=<?=$objResult["ProductID"];?>">Order</a></td>
  </tr>
  <?
  }
  ?>
</table>
<?
mysql_close();
?>
</body>
</html>


order.php
<?
ob_start();
session_start();
	
if(!isset($_SESSION["intLine"]))
{

	 $_SESSION["intLine"] = 0;
	 $_SESSION["strProductID"][0] = $_GET["ProductID"];
	 $_SESSION["strQty"][0] = 1;

	 header("location:show.php");
}
else
{
	
	$key = array_search($_GET["ProductID"], $_SESSION["strProductID"]);
	if((string)$key != "")
	{
		 $_SESSION["strQty"][$key] = $_SESSION["strQty"][$key] + 1;
	}
	else
	{
		
		 $_SESSION["intLine"] = $_SESSION["intLine"] + 1;
		 $intNewLine = $_SESSION["intLine"];
		 $_SESSION["strProductID"][$intNewLine] = $_GET["ProductID"];
		 $_SESSION["strQty"][$intNewLine] = 1;
	}
	
	 header("location:show.php");

}
?>


show.php
<?
session_start();
?>
<html>
<head>
<title>ThaiCreate.Com</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<?
mysql_connect("localhost","root","root");
mysql_select_db("mydatabase");
?>
<table width="400"  border="1">
  <tr>
    <td width="101">ProductID</td>
    <td width="82">ProductName</td>
    <td width="82">Price</td>
    <td width="79">Qty</td>
    <td width="79">Total</td>
  </tr>
  <?
  $Total = 0;
  $SumTotal = 0;
  for($i=0;$i<=(int)$_SESSION["intLine"];$i++)
  {
	$strSQL = "SELECT * FROM product WHERE ProductID = '".$_SESSION["strProductID"][$i]."' ";
	$objQuery = mysql_query($strSQL);
	$objResult = mysql_fetch_array($objQuery);
	$Total = $_SESSION["strQty"][$i] * $objResult["Price"];
	$SumTotal = $SumTotal + $Total;
  ?>
  <tr>
    <td><?=$_SESSION["strProductID"][$i];?></td>
    <td><?=$objResult["ProductName"];?></td>
    <td><?=$objResult["Price"];?></td>
    <td><?=$_SESSION["strQty"][$i];?></td>
    <td><?=number_format($Total,2);?></td>
  </tr>
  <?
  }
  ?>
</table>
Sum Total <?=number_format($SumTotal,2);?>
<br><br><a href="product.php">Go to Product</a>
</body>
</html>


Screenshot

php cart session

php cart session






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-14 14:52:45 By : webmaster
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

อันนี้แบบไม่ให้เลือกซ้ำ แก้ไขที่ไฟล์ order.php

order.php
<?
ob_start();
session_start();
	
if(!isset($_SESSION["intLine"]))
{

	 $_SESSION["intLine"] = 0;
	 $_SESSION["strProductID"][0] = $_GET["ProductID"];
	 $_SESSION["strQty"][0] = 1;

	 header("location:show.php");
}
else
{
	
	$key = array_search($_GET["ProductID"], $_SESSION["strProductID"]);
	if((string)$key == "")
	{	
		 $_SESSION["intLine"] = $_SESSION["intLine"] + 1;
		 $intNewLine = $_SESSION["intLine"];
		 $_SESSION["strProductID"][$intNewLine] = $_GET["ProductID"];
		 $_SESSION["strQty"][$intNewLine] = 1;
	}
	
	 header("location:show.php");

}
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-14 14:54:54 By : webmaster
 

 

No. 3



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

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

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


ทำไม webmaster ไม่ทำเป็นบทความหละฟระ .. เด่วกระทู้ก็ตก เด่วก็หาไม่เจอนะคร้าบ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-14 17:47:27 By : deawx
 


 

No. 4



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

พอดีมีคนถามด่วน เลยตอบด่วนครับ เดียวจัดเป็นบทความให้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-14 17:58:57 By : webmaster
 


 

No. 5



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

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

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


บริการดีจริงๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-14 20:12:58 By : ikikkok
 


 

No. 6



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-14 20:19:17 By : webmaster
 


 

No. 7



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

Full article จัดให้แล้วครับ




Go to : PHP สร้างระบบตะกร้า Shopping Cart ด้วย Session และ Array
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-15 11:10:27 By : webmaster
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : webmaster เมื่อวันที่ 2012-03-15 11:10:27
รายละเอียดของการตอบ ::
พี่ครับ ถ้าจะเพิ่มจำนวนสินค้าเอง ใน code ชุดนี้ต้องไปแก้ไขตรงไหนบ้างครับ
เช่น เพิ่มจำนวน เสร็จ กด คำนวนใหม่ ราคารวมใหม่ก็จะขึ้นมาครับ (ขอบคุณครับ)



ประวัติการแก้ไข
2012-11-21 16:14:59
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-19 11:05:10 By : phaiyoyoyo
 


 

No. 9



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

ตอบความคิดเห็นที่ : 8 เขียนโดย : phaiyoyoyo เมื่อวันที่ 2012-11-19 11:05:10
รายละเอียดของการตอบ ::
ทำ form สำหรับเพิ่มครับ ดูได้ในบทความของ phpmyAdmin ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-22 13:49:33 By : mr.win
 


 

No. 10



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : mr.win เมื่อวันที่ 2012-11-22 13:49:33
รายละเอียดของการตอบ ::
ให้พี่ช่วยแนะนำหน่อย ผมมือใหม่จริงๆ ครับ ไม่รู้ว่าต้องเพิ่ม code ตรงส่วนไหนบ้างครับ
ต้องการให้เป็นแบบนี้ครับ
ผมอยากให้เป็นแบบนี้ครับ รบกวนพี่หน่อยครับ ผมแก้ไม่เป็นจริงๆ ครับ
ขอบคุณครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-23 06:36:13 By : phaiyoyoyo
 


 

No. 11



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

Apply จากตัวอย่างครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-23 09:20:59 By : mr.win
 


 

No. 12



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

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

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


อยากรู้เหมือนกันครับ งม แล้วแต่ไม่ได้เลย อยากทราบ หน้าต่อไปคือต้องรับค่า post แล้ว โค้ด ที่ใช้เปลี่ยนเเปลง up จำนวนสินค้า ต้องเขียนอย่างไรครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-30 21:53:26 By : dekchai
 


 

No. 13



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



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


ตอบความคิดเห็นที่ : 11 เขียนโดย : mr.win เมื่อวันที่ 2012-11-23 09:20:59
รายละเอียดของการตอบ ::
ขอความเห็นหน่อยครับพี่ .... ขอบคุณครับ....

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-12-09 12:16:53 By : phaiyoyoyo
 


 

No. 14

Guest


แล้วถ้าจากโค้ดชุดนี้ จะให้มันแก้ไขจำนวนสินค้าในตะกร้า ได้ด้วยล่ะคะ ทำไง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-28 12:22:34 By : Jutamat
 


 

No. 15



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

เดียวพรุ่งนี้จะเขียนให้อีกกระทู้ครับ ติดตามได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-28 19:57:35 By : mr.win
 


 

No. 16



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



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

เราจะเพิ่ม Text Field เพื่อเพิ่มจำนวนสินค้า ยังไงค่ะ คือตอนนี้แก้แล้วราคามันไม่คูณตามจำนวนค่ะ

อยากรู้เหมือนกับ No.10 เหมือนกันค่ะ

cart
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-28 23:00:24 By : nanziibaby
 


 

No. 17

Guest


รออย่างใจจดใจจ่อครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-29 16:05:20 By : นิว
 


 

No. 18



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



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


$_SESSION["intLine"]
คือ อะไรครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-07 07:46:58 By : Blackrabbit
 


 

No. 19



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

จำนวน Line ของ Array Session ที่จัดเก็บครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-07 10:31:21 By : mr.win
 


 

No. 20



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : webmaster เมื่อวันที่ 2012-03-14 14:52:45
รายละเอียดของการตอบ ::
คือพี่คับ intLine ใน Oder.php มันทำหน้าอะไรคับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-12 21:05:50 By : kaw0676078
 


 

No. 22



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



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


รบกวนอยากได้ Comment Code หน่อยอ่ะครับ พอดีกำลังทำระบบนี้เหมือนกันน่าจะดูเป็นเป็นทางได้แต่ยัง งง กับ code อยู่


ประวัติการแก้ไข
2013-12-01 10:20:12
2013-12-01 10:20:15
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-01 09:54:24 By : cmsarin
 


 

No. 23

Guest


ถ้าเราจะสร้าง attribute เพิ่มมา1ตัว ไว้ที่ตาราง orders ให้ชื่อว่า SumTotal เพื่อเก็บค่าราคาสินค้ารวมของ orderนั้นๆ
ผมเลยอยากถามว่าผมต้องเอาตัวแปรอะไรเข้าไปเก็บตอน INSERT INTO orders (OrderDate,Name,Address,Tel,Email,SumTotal) VALUES
('".date("Y-m-d H:i:s")."','".$_POST["txtName"]."','".$_POST["txtAddress"]."' ,'".$_POST["txtTel"]."','".$_POST["txtEmail"]."','เอาตัวแปรอะไรมาใส่ครับเพื่อให้ได้ราคาสินค้ารวมของorders')

";
(ไฟล์ save_checkout.php)ขอบคุณสำหรับคำตอบล่วงหน้าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-11-19 18:09:54 By : พีรพล ผู้ความหวัง
 


 

No. 24

Guest


ขอบคุณทีมงานมากครับ เป็นประโยชน์มากเลยครับ
กำลังพัฒนาต่อ เพื่อฝึกทักษะครับ มีคำถามพวกพีี่ๆว่า จากสคริปนี้ สมมุติว่ามีสินค้า10ชนิด 10 ชิ้น
หากต้องการดึงรายการในฐานข้อมูลที่ลูกค้าซื้อแล้วมาแสดงว่าของดังกล่าวได้ถูกจำหน่ายไป และเหลืออะไรที่ลูกค้าซื้อได้บ้าง ต้องทำอย่างไรครับ

รบกวนพี่ๆช่วยหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-03-27 09:17:43 By : ittiphat
 


 

No. 25



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

ตอบความคิดเห็นที่ : 24 เขียนโดย : ittiphat เมื่อวันที่ 2017-03-27 09:17:43
รายละเอียดของการตอบ ::
ถามกระทู้ใหม่ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-03-27 09:22:42 By : mr.win
 


 

No. 26



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



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

ตอบความคิดเห็นที่ : 1 เขียนโดย : webmaster เมื่อวันที่ 2012-03-14 14:52:45
รายละเอียดของการตอบ ::
... พี่ครับขอเพิ่มตัดสต๊อกด้วยได้ไหมครับ ขอความกรุณาด้วยนะครับ ขอบคุณมากครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-06-09 20:06:06 By : ipiammax
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เห็นถามกันบ่อยๆ php เก็บสินค้าลงในตะกร้าลง ด้วย session แบบไม่ให้เลือกสินค้าซ้ำ หรือ เลือกซ้ำแล้วจะให้บวกเพิ่มทีล่ะหนึ่ง
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม , pangpond.com , pangpond.co.th , สำนักงานบัญชี.com , รถมือสอง

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