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

HOME > PHP > PHP Forum > Ajax Shopping Cart ช่วยบอกวิธีนำเอาค่าจากตะกร้าส่งไปลงฐานข้อมูลหน่อยครับ



 

Ajax Shopping Cart ช่วยบอกวิธีนำเอาค่าจากตะกร้าส่งไปลงฐานข้อมูลหน่อยครับ

 



Topic : 076714



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



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



คือผมต้องการทำระบบตะกร้าสินค้าน่ะครับ ผมก็เลยไปเจอกัน Source code ตัวหนึ่งเข้า เป็นระบบตะกร้าสินค้าที่สามารถเพิ่มสินค้าเข้าไปและลบออกได้ในทันที ถือว่าดีเลยทีเดียวตรงตามที่ต้องการ แต่ปัญหาก็คือ ไม่รู้วิธีที่จะนำเอาค่า จากตะกร้าสินค้าเอาไปเก็บไว้ในฐานข้อมูลยังไง ช่วยแนะนำให้หน่อยครับ หากเขียนโค๊ดเพื่อรับค่าให้ได้ด้วยจะดีมากเลย ขอบคุณล่วงหน้าครับ


อันนี้เป็นในส่วนของ Javascript ครับ
Code (JavaScript)
$(document).ready(function() {
 
	var Arrays=new Array();
 
	$('#wrap li').mousemove(function(){
 
		var position = $(this).position();
 
		$('#cart').stop().animate({
 
				left   : position.left+'px',
 
			},250,function(){
 
		});
	}).mouseout(function(){
 
	});	
 
	$('#wrap li').click(function(){
 
		var thisID = $(this).attr('id');
 
		var itemname  = $(this).find('div .name').html();
		var itemprice = $(this).find('div .price').html();
 
		if(include(Arrays,thisID))
		{
			var price 	 = $('#each-'+thisID).children(".shopp-price").find('em').html();
			var quantity = $('#each-'+thisID).children(".shopp-quantity").html();
			quantity = parseInt(quantity)+parseInt(1);
 
			var total = parseInt(itemprice)*parseInt(quantity);
 
			$('#each-'+thisID).children(".shopp-price").find('em').html(total);
			$('#each-'+thisID).children(".shopp-quantity").html(quantity);
 
			var prev_charges = $('.cart-total span').html();
			prev_charges = parseInt(prev_charges)-parseInt(price);
 
			prev_charges = parseInt(prev_charges)+parseInt(total);
			$('.cart-total span').html(prev_charges);
 
			$('#total-hidden-charges').val(prev_charges);
		}
		else
		{
			Arrays.push(thisID);
 
			var prev_charges = $('.cart-total span').html();
			prev_charges = parseInt(prev_charges)+parseInt(itemprice);
 
			$('.cart-total span').html(prev_charges);
			$('#total-hidden-charges').val(prev_charges);
 
			$('#left_bar .cart-info').append('
 
<div id="each-'+thisID+'" class="shopp">
 
<div class="label">'+itemname+'</div>
 
 
<div class="shopp-price"> $<em>'+itemprice+'</em></div>
 
 
<span class="shopp-quantity">1</span><img class="remove" src="remove.png" alt="" /><br class="all" /></div>
 
 
');
 
			$('#cart').css({'-webkit-transform' : 'rotate(20deg)','-moz-transform' : 'rotate(20deg)' });
		}
 
		setTimeout('angle()',200);
	});	
 
	$('.remove').livequery('click', function() {
 
		var deduct = $(this).parent().children(".shopp-price").find('em').html();
		var prev_charges = $('.cart-total span').html();
 
		var thisID = $(this).parent().attr('id').replace('each-','');
 
		var pos = getpos(Arrays,thisID);
		Arrays.splice(pos,1,"0")
 
		prev_charges = parseInt(prev_charges)-parseInt(deduct);
		$('.cart-total span').html(prev_charges);
		$('#total-hidden-charges').val(prev_charges);
		$(this).parent().remove();
 
	});	
 
	$('#Submit').livequery('click', function() {
 
		var totalCharge = $('#total-hidden-charges').val();
 
		$('#left_bar').html('Total Charges: $'+totalCharge);
 
		return false;
 
	});	
 
});

function include(arr, obj) {
  for(var i=0; i<arr.length; i++) {
    if (arr[i] == obj) return true;
  }
}
function getpos(arr, obj) {
  for(var i=0; i<arr.length; i++) {
    if (arr[i] == obj) return i;
  }
}
function angle(){$('#cart').css({'-webkit-transform' : 'rotate(0deg)','-moz-transform' : 'rotate(0deg)' });}
			
});



และก็นี่เป็น HTML ครับ

Code (PHP)
<div id="wrap">
 
<ul>
 
	<li id="1">
				<img class="items" src="a1.png" alt="" height="100" />
 
<div><span class="name">Mac/OS X: Price</span>: $<span class="price">800</span></div></li>
 
 
	<li id="2">
				<img class="items" src="5.png" alt="" height="100" />
 
<div><span class="name">IPhone 3GS </span>: $<span class="price">500 </span></div></li>
 
 
	<li id="3">
				<img class="items" src="1.png" alt="" height="100" />
 
<div><span class="name">Apple IPad </span>: $<span class="price">450</span></div></li>
 
 
	<li id="4">
				<img class="items" src="6.png" alt="" height="100" />
 
<div><span class="name">Mac NoteBook </span>: $<span class="price">1200 </span></div></li>
 
 
	<li id="5">
				<img class="items" src="7.png" alt="" height="100" />
 
<div> <span class="name">Bag : Buy Now Price </span>: $<span class="price">65</span></div></li>
 
 
	<li id="6">
				<img class="items" src="5.png" alt="" height="100" />
 
<div><span class="name">IPhone 4GS </span>: $<span class="price">800</span></div></li>
 
 
	<li id="7">
				<img class="items" src="7.png" alt="" height="100" />
 
<div><span class="name"> Bag : Buy Now Price </span>: $<span class="price">45</span></div></li>
 
 
	<li id="8">
				<img class="items" src="6.png" alt="" height="100" />
 
<div><span class="name">Mac NoteBook </span>: $<span class="price">900 </span></div></li>
 
 
	<li id="9">
				<img class="items" src="8.png" alt="" height="100" />
 
<div><span class="name">Sony Super Ear Phone </span>: $<span class="price">20</span></div></li>
 
</ul>
 
 
<div id="bottomBar"><img id="cart" src="carts.png" alt="" /></div>
</div>
 
 
<div id="left_bar">
<form id="cart_form" action="#">
 
<div class="cart-total">
 
			<strong>Total Charges:          </strong> $<span>0</span>
<input id="total-hidden-charges" name="total-hidden-charges" type="hidden" value="0" /></div>
 
 
<button id="Submit">CheckOut</button></form></div>
</div>




และก็นี่เป็น CSS ครับ

Code (PHP)
html, body{
	margin:0;
	padding:0;
	border:0;
	outline:0;
}
 
#wrap{ width:600px; height:900px; top:20px; position:relative; bottom:0px;
  }
#wrap ul{ margin:0px; padding:0px; text-align:center }

#wrap ul li{
	-moz-background-clip: padding;     /* Firefox 3.6 */
	-webkit-background-clip: padding;  /* Safari 4? Chrome 6? */
	background-clip: padding-box;      /* Firefox 4, Safari 5, Opera 10, IE 9 */
	border: 10px solid rgba(0,0,0,0.3);
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px; 
 
	/*background:url("bgs.png") repeat-x scroll;*/
	list-style-type:none;
	height:150px;
	width:160px;
	margin-left:13px;
	margin-bottom:15px;
	float:left;
	padding:15px 0px 0px 0px;
	font-family:"LubalGraphBdBTBold",Tahoma;
	font-size:2em;
	overflow:hidden;
}
 
#wrap ul li div{ 

	height:25px;
	text-align:center;
	width:160px;
	margin-top:10px;
	position:relative;
	bottom:0px;
	padding-top:12px;
	padding-bottom:4px;
	background:#000;
	font: 11px Tahoma, Helvetica, Arial, Sans-Serif;
	opacity:0.8;
	color: #ccc;
	text-shadow: 0px 2px 3px #555;
}
img#cart
{
	bottom:0px;position:fixed; margin-left:30px; /* keep the bar on top  */
}
 
#wrap ul li { cursor:pointer;}

div#bottomBar {
  position: fixed;/* keep the bar on top  */
  bottom: 0px;
  z-index: 9999;
  background:url(rail.jpg) bottom center repeat-x;
  height: 130px;
}
 
div#bottomBar {
  width:600px;
}
 
#left_bar
{
	top:120px;
	left:600px;
	height:350px;
	width:250px;
	position:fixed;
	padding:10px;
	/*-moz-background-clip: padding;
	-webkit-background-clip: padding;
	background-clip: padding-box;
	border: 10px solid #006699;
	-webkit-border-radius: 40px;
	-moz-border-radius: 40px;
	border-radius: 40px; */
}
em{ font-style:normal; }
button {
 
	background:none repeat scroll 0 0 #AD7B05; color:#FFFFFF;
	border:medium none;
	font-family:"LubalGraphBdBTBold",Tahoma;
	font-size:1.1em;
	margin-right:-14px;
	padding:10px;
	cursor:pointer;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
}
 
.cart-total{ background:#E8E8E8}

.shopp,.cart-total{
	border:solid #ccc 1px; padding:8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px; font-size:12px;
	background:url(remove.png) center right no-repeat 5px;
	border-radius: 8px;
	font-family:"LubalGraphBdBTBold",Tahoma;
	margin-bottom:3px;
	width:260px;
	}
 
div.shopp span{  float:left;}
div.shopp div.label{ width:130px; float:left; }
div.shopp div.shopp-price{ width:70px; float:left;}
.quantity{ float:left; margin-top:-3px; width:20px;}
img.remove{float:right;cursor:pointer;}
.cart-total b{width:130px;}



หรือจะเข้าไปดู DEmo ที่นี่เลยครับ http://cart.99points.info/
ถ้าจะโหลดโค๊ดไปทอสอบนี้ครับ http://www.box.com/shared/91op1icmjb

แหล่งอ้างอิงเข้าไปช่วยดูหน่อยครับ http://www.99points.info/2010/12/ajax-shopping-cart-with-jquery-and-php/

ขอบคุณครับ



Tag : PHP, MySQL, HTML/CSS, JavaScript, Ajax, jQuery









ประวัติการแก้ไข
2012-04-05 19:19:13
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-04-05 19:16:12 By : jackkichan View : 4278 Reply : 6
 

 

No. 1



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

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

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

ดูให้เข้าใจก่อนครับ ก่อนที่จะมาถามครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-06 07:53:51 By : webmaster
 


 

No. 2



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



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

เอา form ครอบในส่วนที่แสดงรายการคับ

ส่วนปุ่ม checkout ก็ทำเป็น ปุ่ม submit แค่นี้ก็ส่งค่าได้แล้วคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-06 07:57:54 By : siammbk
 

 

No. 3



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



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

คือความจริงแล้วผมทำ จนมันสามารถรับค่ารับอะไรได้แล้วละครับ แต่มันติดปัญหาตรงที่ เมื่อเวลาส่งค่าไป มันจะทำการส่งค่าจากที่เลือกไปทุกตัวทุกครั้ง อาทิเช่น

ภาพตัวอย่างโปรแกรม

จากภาพตัวอย่างน่ะครับ หากมีสินค้าที่มากกว่า 1 รายการ มันจะทำการส่ง ซ้ำๆ คลายๆการวนลูบส่งค่า ในตัวอย่าง มันจะส่งค่ามา 5 ครั้ง
ความต้องการก็คือว่า ต้องการให้มันส่งมาครั้งเดียวเหมือนกับฟอร์ม คือตอนนี้ ผมทำการรับข้อมูลจาก Ajax ไม่ได้รับค่าจากฟอร์ม

Question ?
- หากต้องการให้มันส่งค่ามาแบบฟอร์มรับข้อมูลทำอย่างไร
- หากไม่ได้ จะมีวิธีการนำเอาค่าจาก รายการทางด้านขวาส่งมาแบบครั้งเดียวหรือไม่

> ขอความกรุณาด้วยครับ

ปล. ที่ต้องการแบบนั้นเพราะ เมื่อเวลา รับค่าแล้ว บาง เบาว์เชอร์ รายการเข้าฐานข้อมูลบ้างไม่เข้าบ้าง สั่ง 5 รายการ มา 1 รายการ ประมาณนี้ครั้บ


ประวัติการแก้ไข
2012-04-06 11:16:27
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-06 11:14:15 By : jackkichan
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : jackkichan เมื่อวันที่ 2012-04-06 11:14:15
รายละเอียดของการตอบ ::
ใช้ Array มาช่วยครับ ลองดูพวกนี้ครับ

https://www.thaicreate.com/php/php-mysql-add-insert-multiple-record.html
https://www.thaicreate.com/php/php-mysql-multiple-checkbox-delete-record.html
https://www.thaicreate.com/php/php-mysql-multiple-upload-file-to-mysql.html

หรือลองศึกษาบทเรียนได้ที่
https://www.thaicreate.com/php.html


ถ้าลองดู ลองทำ แล้วติดตรงไหน เออเร่อตรงไหน ค่อยว่ากันใหม่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-06 11:35:24 By : ทองมี
 


 

No. 5



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



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

ตอบความคิดเห็นที่ : 4 เขียนโดย : ทองมี เมื่อวันที่ 2012-04-06 11:35:24
รายละเอียดของการตอบ ::
ขอบคุณครับ สำหรับคำแนะนำ

แต่ยังไม่ใช่ที่ต้องการครับ เดี๋ยวอธิบายเพิ่มน่ะครับ

อันดับแรกมาดูการทำงานกันก่อน ผมทำการส่งค่าจาก script ตัวนี้โดยการใช้ post
Code (PHP)
$('#Submit').livequery('click', function() {		
	$.post("manege.php",{id:thisID, name:itemname,price:itemprice, qty:quantity,time_stap:date_stap});  
		});	


เพื่อส่งค่าไปยัง ไฟล์ manege.php เมื่อส่งค่ามาแล้ว จะนำเอามาเก็บไว้ในตัวแปร session ดังนี้

Code (PHP)
if($id!=""){		
			
					$_SESSION[ss_id][]=$id;
					$_SESSION[ss_qty][]=$qty;
					$_SESSION[ss_name][]=$name;
					$_SESSION[ss_price][]=$price;
					$_SESSION[ss_stap][]=$time_stap; 			
			
	}




หลังจากเก็บค่าแล้ว จะนำมาทำการ Insert ลงฐานข้อมูล โดยสร้างเป้นเงื่อนไขดังนี้

Code (PHP)
 for($i=0;$i<=count($_SESSION[ss_id]) ;$i++){
	$result_s=num_row("get_order","where get_id='".$_SESSION[ss_id][$i]."' and bill_number='".$_SESSION[ss_stap][$i]."'  ");	
		if($result_s>=1){	
			$result_q=select("get_order","where get_id='".$_SESSION[ss_id][$i]."' and bill_number='".$_SESSION[ss_stap][$i]."'  ");			
			    if($result_q[get_qty]<=$_SESSION[ss_qty][$i]){			
				update("get_order","get_price='".$_SESSION[ss_price][$i]*$_SESSION[ss_qty][$i]."',get_qty='".$_SESSION[ss_qty][$i]."'","where get_id='".$_SESSION[ss_id][$i]."' and bill_number='".$_SESSION[ss_stap][$i]."' ");	
			}	
								
		}else{
			if($_SESSION[ss_id][$i]!=""){
								
				$mode_f=select("food_all","where id=".$_SESSION[ss_id][$i]);
								
				insert("get_order","get_id,get_name,get_price,get_qty,bill_number,food_status,mode_f","'".$_SESSION[ss_id][$i]."','".$_SESSION[ss_name][$i]."','".$_SESSION[ss_price][$i]."','".$_SESSION[ss_qty][$i]."','".$_SESSION[ss_stap][$i]."','1','".$mode_f[mode_f]."'  ");	
					
			}
		}	
  }



ประมาณนี้ครับ....


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-04-06 11:49:43 By : jackkichan
 


 

No. 6



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

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

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

ตอบความคิดเห็นที่ : 5 เขียนโดย : jackkichan เมื่อวันที่ 2012-04-06 11:49:43
รายละเอียดของการตอบ ::
ลองดูตัวนี้ครับ

Code (PHP)
<?
session_start();

mysql_connect("localhost","root","root");
mysql_select_db("mydatabase");

  $Total = 0;
  $SumTotal = 0;

  $strSQL = "
	INSERT INTO orders (OrderDate,Name,Address,Tel,Email)
	VALUES
	('".date("Y-m-d H:i:s")."','".$_POST["txtName"]."','".$_POST["txtAddress"]."' ,'".$_POST["txtTel"]."','".$_POST["txtEmail"]."') 
  ";
  mysql_query($strSQL) or die(mysql_error());

  $strOrderID = mysql_insert_id();

  for($i=0;$i<=(int)$_SESSION["intLine"];$i++)
  {
	  if($_SESSION["strProductID"][$i] != "")
	  {
			  $strSQL = "
				INSERT INTO orders_detail (OrderID,ProductID,Qty)
				VALUES
				('".$strOrderID."','".$_SESSION["strProductID"][$i]."','".$_SESSION["strQty"][$i]."') 
			  ";
			  mysql_query($strSQL) or die(mysql_error());
	  }
  }

mysql_close();

session_destroy();

header("location:finish_order.php?OrderID=".$strOrderID);
?>


Go to : PHP สร้างระบบตะกร้าสั่งซื้อสินค้า Shopping Cart ด้วย Session และ Array (PHP กับ MySQL)

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

   

ค้นหาข้อมูล


   
 

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