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 > ถ้าต้องการจะนำรายการข้อมูลทั้งหมดบน Session ไปบันทึกลงบน Database นี่มีวิธีทำอย่างไรบ้างครับ



 

ถ้าต้องการจะนำรายการข้อมูลทั้งหมดบน Session ไปบันทึกลงบน Database นี่มีวิธีทำอย่างไรบ้างครับ

 



Topic : 052249



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



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




ผ
Code (PHP)
<center>
<?php session_start(); ?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cart</title>
<?php
$conn = mysql_connect("localhost","root","");mysql_select_db("z", $conn);ini_set('display_errors', false);
?>
</head>
<body>
<?php
	$product_id = $_GET[id];	 //รับ ID จาก URL
	$action 	= $_GET[action]; //รับค่าเพิ่มหรือลดจาก URL
	//ไม่มีรายการแสดงเออเร่อ
	if($product_id && !productExists($product_id)) {
		die("Error. Product Doesn't Exist");
	}
	switch($action) {	//เลือกทำ
		case "add":
			$_SESSION['cart'][$product_id]++; //เพิ่ม
		break;
		case "remove":
			$_SESSION['cart'][$product_id]--; //ลด
			if($_SESSION['cart'][$product_id] == 0) unset($_SESSION['cart'][$product_id]); //ถ้า 0 ก็ล้างค่า 
		break;
		case "empty":
			unset($_SESSION['cart']); //ล้างค้า
		break;
	}
?>
<?php	
	if($_SESSION['cart']) {	//ถ้าตะกร้าว่าง
		//แสดงตระกร้า
		echo "<table border=\"4\" padding=\"3\" width=\"40%\">";	//แสดงเป็น HTML
			//ทำซ้ำผ่านตะกร้า, $product_id เป็น key และ $quantity ตัวแปร
			foreach($_SESSION['cart'] as $product_id => $quantity) {	
				//รับชื่อคำอธิบายและราคาจากฐานข้อมูล
				//sprintf ใช้เพื่อให้แน่ใจว่า product_id $ ถูกแทรกลงในแบบสอบถามเป็นจำนวน
				$sql = sprintf("SELECT name, description, price FROM php_shop_products WHERE id = %d;",$product_id); 
				$result = mysql_query($sql);
				//แสดงเฉพาะแถวหากมีผลิตภัณฑ์
				if(mysql_num_rows($result) > 0) {
					list($name, $description, $price) = mysql_fetch_row($result);
					$line_cost = $price * $quantity;		//ราคา
					$total = $total + $line_cost;			//ราคารวม
					echo "<tr>";
						//แสดงข้อมูลในตารางนี้
						echo "<td align=\"center\">$name</td>";
						//คำสั่งเพิ่มและลบ
						echo "<td align=\"center\">$quantity <a href=\"$_SERVER[PHP_SELF]?action=remove&id=$product_id\">X</a>  <a href=\"$_SERVER[PHP_SELF]?action=add&id=$product_id\">+</a></td>";
						echo "<td align=\"center\">$line_cost</td>";
					echo "</tr>";
				}
			}
			//แสดงผลรวม
			echo "<tr>";
				echo "<td colspan=\"2\" align=\"right\">Total</td>";
				echo "<td align=\"right\">$total</td>";
			echo "</tr>";
			//เตือนล้างตะกร้า
			echo "<tr>";
				echo "<td colspan=\"3\" align=\"right\"><a href=\"$_SERVER[PHP_SELF]?action=empty\" onclick=\"return confirm('Are you sure?');\">Empty Cart</a></td>";
			echo "</tr>";		
		echo "</table>";
	}else{
		//เมื่อไม่มีสินค้าแสดง
		echo "ไม่มีสินค้าในตะกร้า.";
	}
	//ฟังก์ชั่นเพื่อตรวจสอบว่าสินค้ามีอยู่
	function productExists($product_id) {
			//ใช้ sprintf เพื่อให้แน่ใจว่า product_id $ ถูกแทรกลงในแบบสอบถามเป็นจำนวน
			$sql = sprintf("SELECT * FROM php_shop_products WHERE id = %d;",
							$product_id); 
			return mysql_num_rows(mysql_query($sql)) > 0;
	}
?>
<a href="products.php">ทำการซื้อต่อ</a>
</body>
</html>
</center>




Tag : PHP, MySQL









ประวัติการแก้ไข
2010-11-25 18:15:33
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-11-25 18:12:32 By : zegend View : 1174 Reply : 3
 

 

No. 1



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

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

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

Code (PHP)
$data = serialize($_SESSION);
$now = time();

// update session
$sql = "INSERT INTO sessions VALUES('".session_id()."', '{$data}', $now)";

if ( ! mysql_query($sql))
{
 $sql = "UPDATE session SET data='{$data}', last_access={$now} WHERE id='".session_id()."'";
 mysql_query($sql);
}









ประวัติการแก้ไข
2010-11-25 19:03:36
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-25 19:00:01 By : pjgunner.com
 


 

No. 2



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



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


ค่าของ $data มันเป็นแบบนี้อะครับ

a:1:{s:4:"cart";a:2:{i:1;i:10;i:2;i:10;}}

มันจะบันทึกลงฐานข้อมูลได้ไหมครับ
คือจากที่ลองคิวรี่อินเสิทมันเออเร่อ
ออกมาแบบนี้ครับ

Not Query : INSERT INTO sessions VALUES('9laf7dq8mhujakb2bbf3c4rfp6', 'a:1:{s:4:"cart";a:2:{i:1;i:11;i:2;i:10;}}')


ประวัติการแก้ไข
2010-11-25 19:58:40
2010-11-25 19:59:29
2010-11-25 20:14:51
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-25 19:57:58 By : zegend
 

 

No. 3



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

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

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

ลืมไปคับ

$data = mysql_real_escape_string(serialize($_SESSION));

เวลาดึงออกมาให้ใช้
unserialized() กลับมาเป็น array ด้วยนะคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-25 20:40:37 By : pjgunner.com
 

   

ค้นหาข้อมูล


   
 

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