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 > สอบถามปัญหา เรื่องตะกร้าสินค้าครับ โดยผมเก็บsession ทั้ง รหัส ไซต์ สี ครับ



 

สอบถามปัญหา เรื่องตะกร้าสินค้าครับ โดยผมเก็บsession ทั้ง รหัส ไซต์ สี ครับ

 



Topic : 119056



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



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




ผมเอาโค๊ดตะกร้าสินค้าใน thaicreate มาประยุกต์ครับ

เมื่อผมกดสั่งซื้อสินค้าให้ไปหน้าเเสดงตะกร้าสินค้า
ปัญหาที่เจอคือ
1. รหัสสินค้าเดียวกัน ไซต์เดียวกัน สีเดียวกัน +เพิ่มจำนวนตามปกติ
2. รหัสสินค้าเดียวกัน ไซต์เดียวกัน ต่างสี ขึ้นบรรทัดใหม่ปกติ
3. รหัสสินค้าเดียวกัน ต่างไซต์ เเต่สีเดียวกัน ไม่ยอมขึ้นบรรทัดใหม่ให้ เเต่ดันไปรวมกับของเดิมที่มีสีนั้นอยู่เเล้ว
4. รหัสสินค้าต่างกัน เเต่ไซต์เดียวกับรหัสเก่า สีเดียวกับรหัสเก่า ไม่ยอมขึ้นบรรทัดใหม่ให้ เเต่ดันไปรวมกับของเดิมที่มีสีนั้นอยู่เเล้ว

*ปัญหาส่วนใหญ่จะเกี่ยวกับ ไซต์ เเละ สี ครับ

โค๊ดส่วนนี้เป็นส่วนที่ หลังจะกดเลือกสินค้า จะมาหน้านี้ก่อน ที่จะถูกส่งไป เเสดงที่หน้าตะกร้าสินค้าครับ
Code (PHP)
<?php
session_start();
	
if(!isset($_SESSION["intLine"]))
{
	if(isset($_POST["txtProductID"]))
	{
		 $_SESSION["intLine"] = 0;
		 $_SESSION["strProductID"][0] = $_POST["txtProductID"];
		 $_SESSION["strProductSize"][0] = $_POST["txtProductSize"];
		 $_SESSION["strQty"][0] = $_POST["txtQty"];
		 $_SESSION["strProductColor"][0] = $_POST["txtProductColor"];
		 header("location:page_order_product.php");
	}
}
else
{
	
	$key = array_search($_POST["txtProductID"], $_SESSION["strProductID"]);
	$key = array_search($_POST["txtProductSize"], $_SESSION["strProductSize"]);
$key = array_search($_POST["txtProductColor"], $_SESSION["strProductColor"]);


	if((string)$key != "")
	{
		 $_SESSION["strQty"][$key] = $_SESSION["strQty"][$key] + $_POST["txtQty"];
	}
	else
	{
		
		 $_SESSION["intLine"] = $_SESSION["intLine"] + 1;
		 $intNewLine = $_SESSION["intLine"];
		 $_SESSION["strProductID"][$intNewLine] = $_POST["txtProductID"];
		 $_SESSION["strProductSize"][$intNewLine] = $_POST["txtProductSize"];
		 $_SESSION["strProductColor"][$intNewLine] = $_POST["txtProductColor"];
		 $_SESSION["strQty"][$intNewLine] = $_POST["txtQty"];
	}
	
	 header("location:page_order_product.php");

}
?>

<?php /* This code download from www.ThaiCreate.Com */ ?>




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-09-24 08:03:33 By : ifirstinw View : 782 Reply : 3
 

 

No. 1



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



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

08.$_SESSION["intLine"] = 0;
09.$_SESSION["strProductID"][0] = $_POST["txtProductID"];
10.$_SESSION["strProductSize"][0] = $_POST["txtProductSize"];
11.$_SESSION["strQty"][0] = $_POST["txtQty"];
12.$_SESSION["strProductColor"][0] = $_POST["txtProductColor"];
แก้เป็น
Code (PHP)
$_SESSION["intLine"] = 0;
$_SESSION["strProductID"] = array( $_POST["txtProductID"] );
$_SESSION["strProductSize"] = array( $_POST["txtProductSize"] );
$_SESSION["strQty"] = array( $_POST["txtQty"] );
$_SESSION["strProductColor"] = array( $_POST["txtProductColor"] );

เพื่อเป็นการเคลียร array เก่าทั้งหมดให้เหลือแค่ element เดียว แม้จะมีบันทัด 8 กำหนดอยู่ก็ตาม
================================================================
19.$key = array_search($_POST["txtProductID"], $_SESSION["strProductID"]);
20.$key = array_search($_POST["txtProductSize"], $_SESSION["strProductSize"]);
21.$key = array_search($_POST["txtProductColor"], $_SESSION["strProductColor"]);
แก้เป็น
Code (PHP)
$key1 = array_search($_POST["txtProductID"], $_SESSION["strProductID"]);
$key2 = array_search($_POST["txtProductSize"], $_SESSION["strProductSize"]);
$key3 = array_search($_POST["txtProductColor"], $_SESSION["strProductColor"]);
$key = "$key1_$key2_$key3";

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








ประวัติการแก้ไข
2015-09-24 08:59:47
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-24 08:59:06 By : NewbiePHP
 


 

No. 2



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



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


ผมลองแก้ตามเเล้วครับ ไม่เปลี่ยนเลยครับ เหมือนเดิมเลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-24 10:30:01 By : ifirstinw
 

 

No. 3



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



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

คุณต้องกำหนด session ตัวแปรรับ
และการตรวจสอบใหม่

Code (PHP)
$key=$_POST["txtProductID"].'_'.$_POST["txtProductSize"].'_'.$_POST["txtProductColor"];
if( isset( $_SESSION['data'][$key] )){
   // มีข้อมูลอยู่แล้ว
   $_SESSION['data'][$key]['txtQty']+=$_POST["txtQty"];
}else{
   // ไม่พบ
   $_SESSION['data'][$key]=$_POST;
}


แบบที่คุณทำ array key มันไม่เหมือน กัน
ลอง print_r($_SESSION) ออกมาดูครับ จะได้เห็น result เป็นยังไง


ประวัติการแก้ไข
2015-09-24 11:00:53
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-24 10:59:58 By : NewbiePHP
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามปัญหา เรื่องตะกร้าสินค้าครับ โดยผมเก็บ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: นำเข้าสินค้าจากจีน, 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 อัตราราคา คลิกที่นี่