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 > ช่วยทีค่ะปวดหัวมาหลายวันแล้ว กับการ Compare สินค้า โดย setCookie (PHP + jQuery)



 

ช่วยทีค่ะปวดหัวมาหลายวันแล้ว กับการ Compare สินค้า โดย setCookie (PHP + jQuery)

 



Topic : 055419



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



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




Code (PHP)
<a href="javascript:void(0)" onclick="add_compare(<?php echo $product_id?>)">Add to Compare</a>


Code (PHP)
function add_compare(pid){
	
	 //alert(pid);
	 $('#nav-compare').fadeIn();
		
	   $.ajax({
	   url: "products/compare.php",
	   data: "product_id="+pid+"&rnd="+Math.random()+"",
	   success: function(data){
		 $('#compare-area').html(data).fadeIn("slow");

	   }
  	});
}




compare.php
Code (PHP)
<?php      
ob_start();
            require_once('config.php'); 
            $pid=$_GET['product_id'];
			$q_p = mysql_query("select * from product where product_id='".$pid."' ");	
			while($r_p = mysql_fetch_array ($q_p)){
			list($product_id,$brand_id,$cat_id,$product_name)=$r_p;

			
   //ทำไงต่อค่ะ ให้มันแสดงสินค้าที่เลือกไว้ 

 

//โค๊ดข้างล่างนี้ ลองทำดูแล้ว  มีปัญหาที่ setCookie  ของสินค้าตัวแรกจะไม่มีค่าออกมา ต้องเป็นตัวที่สองขึ้นไปถึงจะมีค่า งงจังค่ะ
                	
                       setcookie("cart[$num_p]","".$product_id."");
			$num_p++;
			  
			setcookie("num_p","$num_p");
			echo "ได้เพิ่ม".$product_id;


 }


for($i=0; $i<$num_p;$i++){
				
	 echo "cook:".$cart[$i];
				
}
			
echo "<br/>num".$num_p;

?>





Tag : PHP, Ajax, jQuery









ประวัติการแก้ไข
2011-02-01 23:07:48
2011-02-01 23:08:27
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-02-01 23:05:14 By : Avrill View : 1292 Reply : 16
 

 

No. 1



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

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

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


ตอบแบบ งงๆ กะโค๊ดละกัน
Code (PHP)
$num_p = 0;
while($r_p = mysql_fetch_array ($q_p)){







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-02 02:48:16 By : PlaKriM
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : PlaKriM เมื่อวันที่ 2011-02-02 02:48:16
รายละเอียดของการตอบ ::
ก็งงๆ กับโค๊ดเหมือนกันค่ะ เพราะว่าทำตามในหนังสือ หากมีแนวทางที่ถูกต้อง ก้แนะนำได้นะค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-02 08:48:10 By : Avrill
 

 

No. 3



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



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


ที่งงอยู่คือ มันต้องสร้าง Cookie ยังไง และ ตอนใหน อ่ะ

มันต้องต้องสร้างหลายๆตัว แล้วแต่ User จะเลือกสินค้าใด แต่กำหนดไว้ไม่เกิน 3 รายการ เพื่อมา Compare Product


แล้วก่อน Compare จะ select ออกมายังไงค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-02 09:55:09 By : Avrill
 


 

No. 4



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

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

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

ฮ่วยหนังสือเล่มไหนหว่า อิๆ แซวครับ

Code (PHP)
setcookie("num_p","$num_p");

setcookie("num", $num);  // แบบนี้ดีกว่าไหม




Code (PHP)
/*
$q_p = mysql_query("select * from product where product_id='".$pid."' ");	
			while($r_p = mysql_fetch_array ($q_p)){
			list($product_id,$brand_id,$cat_id,$product_name)=$r_p;
*/

// แบบนี้ดีกว่าไหม 
$q_p = mysql_query("select product, brand_id, cat_id,  product_name  from product where product_id='".$pid."' ");	// เลือกลำดับให้ตรงกับ list
			while($r_p = mysql_fetch_array ($q_p)){
			list($product_id,$brand_id,$cat_id,$product_name)=$r_p[0];
                        // ไม่ก็ จับยัดใส่ตรงๆ ตัวต่อต่อไปเลย ซัดเดนเดต



ปล. ไม่เคยทำ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-02 10:06:11 By : peterxp
 


 

No. 5

Guest


ตอบความคิดเห็นที่ : 4 เขียนโดย : peterxp เมื่อวันที่ 2011-02-02 10:06:11
รายละเอียดของการตอบ ::
... อ่านหลายเล่มเลยค่ะ พวก jQuery และ ก็ php ecomerc, php workshop แล้วเอามรวมๆกัน

เลยกลายเป็นงงเลยค่ะ ลองทำตามแบบที่คุณบอกแล้วก็ยังไม่ได้อยู่ดีค่ะ ฮืออ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-02 10:50:24 By : Avrill
 


 

No. 6



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

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

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


echo "cook:".$_COOKIE['cart'][$i];
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-02 10:57:37 By : PlaKriM
 


 

No. 7

Guest


setcookie มัน set ได้ครั้งเดียวใช่ไหมค่ะ
ถ้า setcookie อีกครั้ง มันก็ delete cookie

ทีนี้ถ้าจะ setcookie หลายๆตัว จาทำยังไงค่ะ

และ เราจะดู cookie ทั้งหมดเลยได้ไหมค่ะ แบบว่าไม่ต้องระบุค่า $_COOKIE[name]

อยากรู้ว่ามันสร้าง cookie อะไรออกมา
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-02 11:26:07 By : Avrill
 


 

No. 8



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

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

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


print_r($_COOKIE);
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-02 11:33:29 By : PlaKriM
 


 

No. 9



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

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

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

อืมลืมไป cookie array แบบพี่ปลากริม จิ มันจะ compare ได้มากว่า 1 แนวคิดเดียวกับ shopping cart
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-02 11:37:04 By : peterxp
 


 

No. 10



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



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


ทำยังไงก็เหมือนเดิมค่ะ

กดเลือกสินค้า ครั้งแรก มันไม่ยอม setcookie ให้ค่ะ
แต่พอกดครั้งที่สองมันดันมา setcookie สินค้าตัวแรก

พอเลือกสินค้าตัวที่ 3 มันก็นิ่งไม่ยอม setcookie

พอเลือกสินค้าตัวที่ 4 มันถึงจะมา setcookie สินค้าตัวที่ 3

เป็นแบบนี้ไปเรื่อยๆ ทุกครั้งที่เลือกสินค้า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-02 13:53:30 By : Avrill
 


 

No. 11



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



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


แก้ปัญหาได้แล้ว เปลี่ยนมาใช้ session แทน ค่ะ

แต่ติดปัญหาเวลา ลบ session ค่ะ เวลาลบทำยังไงให้มันลบเฉพาะ ค่าที่เราเลือกค่ะ

Code (PHP)
<?php      
session_start();
	require_once('config.php'); 
	//$num=0;	
	$pid=$_GET['product_id'];
	
	//echo $pid;

	$_SESSION["compare_id"][] = "$pid";
     
	 
    echo "<table border=\"0\"><tr>";
	for($i=0;$i<count($_SESSION["compare_id"]);$i++)
	{
		//echo $_SESSION["compare_id"][$i]."<br>";

		if($i<=2){
			echo"<td align=\"center\" width=\"150\">";
			$q_p = mysql_query("select product_id,short_model,picture from product where product_id='".$_SESSION["compare_id"][$i]."' ");
			$r_p = mysql_fetch_array ($q_p);
			list($product_id,$short_model,$picture)=$r_p;
			
			//echo "$product_id"."</br>";
	        
            //Remove item
			echo "$short_model"." <a href=\"javascript:void(0)\" onClick=\"del_p_compare(".$product_id.")\" target=\"_parent\"><img src=\"images/admin/delete.gif\" align=\"abdmiddle\" height=\"13\"></a>";
			
            //show item
            echo "<a href=\"javascript:void(0)\" onClick=\"view_product(".$product_id.")\" target=\"_parent\"><div align=\"center\" class=\"transOFF\" onmouseover=\"this.className='transON'\" onmouseout=\"this.className='transOFF'\">";
            echo "<img src=\"product/thumb/".$picture."\" height=\"45\"></div></a>";
			echo "</td>";
		}
		
		
	 }
	 
	 echo"</tr></table>";

 ?>



ประวัติการแก้ไข
2011-02-03 12:15:29
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-03 12:14:43 By : Avrill
 


 

No. 12

Guest


ไม่เข้าใจคำถามหรือเปล่าน้ออ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-03 14:08:11 By : avrill
 


 

No. 13



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

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

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


unset ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-03 14:56:19 By : PlaKriM
 


 

No. 14



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



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


Unset ลองแล้วค่ะ มันลบทั้งหมดเลย ค่ะ รบกวนดูให้หน่อยค่ะ ผิดตรงใหน


Code (PHP)
<?php
session_start();
$pid=$_GET['pid'];
unset($_SESSION['compare_id'][$pid]);
//session_destroy();
?>



ตรงนี้ส่งค่าไป
Code (PHP)
//Remove item
 "<a href=\"javascript:void(0)\" onClick=\"del_p_compare(".$i.")\" target=\"_parent\"><img src=\"images/admin/delete.gif\" align=\"abdmiddle\" height=\"13\"></a>";



โค๊ดเต็มๆ
Code (PHP)
<?php      
session_start();
	require_once('config.php'); 
	//$num=0;	
	$pid=$_GET['product_id'];
	
	//echo $pid;

	$_SESSION["compare_id"][] = "$pid";
     
	 
    echo "<table border=\"0\"><tr>";
	for($i=0;$i<count($_SESSION["compare_id"]);$i++)
	{
		//echo $_SESSION["compare_id"][$i]."<br>";

		if($i<=2){
			echo"<td align=\"center\" width=\"150\">";
			$q_p = mysql_query("select product_id,short_model,picture from product where product_id='".$_SESSION["compare_id"][$i]."' ");
			$r_p = mysql_fetch_array ($q_p);
			list($product_id,$short_model,$picture)=$r_p;
			
			//echo "$product_id"."</br>";
	        
            //Remove item
			echo "$short_model"." <a href=\"javascript:void(0)\" onClick=\"del_p_compare(".$i.")\" target=\"_parent\"><img src=\"images/admin/delete.gif\" align=\"abdmiddle\" height=\"13\"></a>";
			
            //show item
            echo "<a href=\"javascript:void(0)\" onClick=\"view_product(".$product_id.")\" target=\"_parent\"><div align=\"center\" class=\"transOFF\" onmouseover=\"this.className='transON'\" onmouseout=\"this.className='transOFF'\">";
            echo "<img src=\"product/thumb/".$picture."\" height=\"45\"></div></a>";
			echo "</td>";
		}
		
		
	 }
	 
	 echo"</tr></table>";

 ?>




ประวัติการแก้ไข
2011-02-03 15:28:29
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-02-03 15:22:59 By : Avrill
 


 

No. 15



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



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


วันนี้ผมก็ติดเรื่องนี้เหมือนกันครับ cookie ในแบบ aray ก็งงมาครึ่งวัน ยิ่งพูดยิ่งงงตัวเอง
ขอบคุณเจ้าของกระทู้และ พี่ PlaKriM ที่ทำให้ผมได้แก้ไข code ได้แล้ว จากข้อความที่ 6
ผมมาแสดง code ใ้ห้ดูเผื่อคนรุ่นหลัง อิๆ
ให้เก็บค่าตัวแปรจาก while ก่อน
Code (PHP)
while($objResult = mysql_fetch_row($objquery))
{
    ??????
}

หลังจากที่เก็บค่า cookie แล้ว ก็ให้เขียน code แสดงค่าแบบนี้เลยครับ
Code (PHP)
for($i=0;$i<$numproduct;$i++)
{
	echo "Cook=",$_COOKIE["cart"][$i],"<br>";	
}


เวลาแสดงค่าออกมาก็จะได้ ตามที่เก็บค่าไว้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-05-15 00:04:07 By : vissarud
 


 

No. 16



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



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


ของผม เป็นแบบว่า เดียวติด เดียวไม่ติด งง เลยอ่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-08-16 03:11:44 By : nookjunior
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยทีค่ะปวดหัวมาหลายวันแล้ว กับการ Compare สินค้า โดย setCookie (PHP + jQuery)
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 03
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 อัตราราคา คลิกที่นี่