|
|
|
ช่วยทีค่ะปวดหัวมาหลายวันแล้ว กับการ Compare สินค้า โดย setCookie (PHP + jQuery) |
|
|
|
|
|
|
|
ตอบแบบ งงๆ กะโค๊ดละกัน
Code (PHP)
$num_p = 0;
while($r_p = mysql_fetch_array ($q_p)){
|
|
|
|
|
Date :
2011-02-02 02:48:16 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่งงอยู่คือ มันต้องสร้าง Cookie ยังไง และ ตอนใหน อ่ะ
มันต้องต้องสร้างหลายๆตัว แล้วแต่ User จะเลือกสินค้าใด แต่กำหนดไว้ไม่เกิน 3 รายการ เพื่อมา Compare Product
แล้วก่อน Compare จะ select ออกมายังไงค่ะ
|
|
|
|
|
Date :
2011-02-02 09:55:09 |
By :
Avrill |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ฮ่วยหนังสือเล่มไหนหว่า อิๆ แซวครับ
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo "cook:".$_COOKIE['cart'][$i];
|
|
|
|
|
Date :
2011-02-02 10:57:37 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setcookie มัน set ได้ครั้งเดียวใช่ไหมค่ะ
ถ้า setcookie อีกครั้ง มันก็ delete cookie
ทีนี้ถ้าจะ setcookie หลายๆตัว จาทำยังไงค่ะ
และ เราจะดู cookie ทั้งหมดเลยได้ไหมค่ะ แบบว่าไม่ต้องระบุค่า $_COOKIE[name]
อยากรู้ว่ามันสร้าง cookie อะไรออกมา
|
|
|
|
|
Date :
2011-02-02 11:26:07 |
By :
Avrill |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
print_r($_COOKIE);
|
|
|
|
|
Date :
2011-02-02 11:33:29 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อืมลืมไป cookie array แบบพี่ปลากริม จิ มันจะ compare ได้มากว่า 1 แนวคิดเดียวกับ shopping cart
|
|
|
|
|
Date :
2011-02-02 11:37:04 |
By :
peterxp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทำยังไงก็เหมือนเดิมค่ะ
กดเลือกสินค้า ครั้งแรก มันไม่ยอม setcookie ให้ค่ะ
แต่พอกดครั้งที่สองมันดันมา setcookie สินค้าตัวแรก
พอเลือกสินค้าตัวที่ 3 มันก็นิ่งไม่ยอม setcookie
พอเลือกสินค้าตัวที่ 4 มันถึงจะมา setcookie สินค้าตัวที่ 3
เป็นแบบนี้ไปเรื่อยๆ ทุกครั้งที่เลือกสินค้า
|
|
|
|
|
Date :
2011-02-02 13:53:30 |
By :
Avrill |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ปัญหาได้แล้ว เปลี่ยนมาใช้ 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่เข้าใจคำถามหรือเปล่าน้ออ
|
|
|
|
|
Date :
2011-02-03 14:08:11 |
By :
avrill |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
unset ครับ
|
|
|
|
|
Date :
2011-02-03 14:56:19 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
วันนี้ผมก็ติดเรื่องนี้เหมือนกันครับ 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ของผม เป็นแบบว่า เดียวติด เดียวไม่ติด งง เลยอ่า
|
|
|
|
|
Date :
2011-08-16 03:11:44 |
By :
nookjunior |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|