yon_madue

Sat 13 May 2006 09:38:48
Sat 13 May 2006 09:38:48
ไม่ทราบว่า php เก็บว่าเราคลิกอันไหนๆไปบ้างครับ คืออยากทำระบบ shopping cart ครับ และอยากเก็บ ว่า ใครคลิก อะไรๆๆ ไปบ้างและจะเก็บสินค้าในแต่ละตัวๆๆ ครับ
ผมไม่ทราบว่าท่านเข้าใจการทำงาน และการพัฒนาระบบ Shopping cart ที่สนใจหรือยังครับ (Shopping cart มีหลาย model)
ตอนทำ Shopping cart นั้นจะมีการเพิ่มสินค้าลงตระกร้าเมื่อ user คลิ๊กที่ Add to cart
ในระบบที่ท่านต้องการก็เช่นเดียวกันครับเพียงแต่ว่าไม่ต้องรอให้ user คลิ๊กที่ Add to cart เท่านั้นครับ เมื่อเขาเปิดดูรายละเอียดสินค้าก็ทำการ add to cart ได้เลยเพียงแต่ว่าต้องแยก cart เป็น 2 ส่วนเท่านั้นครับ
ตอนทำ Shopping cart นั้นจะมีการเพิ่มสินค้าลงตระกร้าเมื่อ user คลิ๊กที่ Add to cart
ในระบบที่ท่านต้องการก็เช่นเดียวกันครับเพียงแต่ว่าไม่ต้องรอให้ user คลิ๊กที่ Add to cart เท่านั้นครับ เมื่อเขาเปิดดูรายละเอียดสินค้าก็ทำการ add to cart ได้เลยเพียงแต่ว่าต้องแยก cart เป็น 2 ส่วนเท่านั้นครับ
nad

Tue 16 May 2006 17:08:58
Tue 16 May 2006 17:08:58
ผมเห็นอย่างในเวป www.jobbkk.com คิดว่าน่าจะเป็นอย่างงั้นนะครับ จะมีการเก็บว่าเราคลิกตำแหน่งงานไหนไปบ้าง ครับ ขึ้นแสดงเป็น ลิสให้ดูเลย ก็ อยากทราบเหมือนกันครับว่าเขาทำยังไง รบกวกนที่ เวปมาสเตอร์ แนะนำด้วยครับ
เอาแบบง่ายๆนะครับ ผมออกแบบให้มี 2 ไฟล์
index.php
<?
session_start();
//แสดงรายการสินค้าโดยลิงค์ไปยัง view.php?id=เลขที่สินค้า
$link= mysql_connect($host, $user, $pass);
mysql_select_db($dbname, $link);
$res = mysql_query("SELECT productid, productimage FROM products ORDER BY productname", $link);
while($row = mysql_fetch_array($res, MYSQL_ASSOC)){
echo "<a href=\"view.php?id=".$row["productid"]."\"><img src=\"".$row["productimage"]."\"></a><br>";
}
mysql_free_result($res);
mysql_close($link);
//แสดงผลสินค้าที่มีการคลิ๊กผ่านมา
if(count($_SESSION["product"]) > 0){
for($i = 0; $i < count($_SESSION["product"]); $i++){
echo "<a href=\"view.php?id=".$_SESSION["product"][$i]["id"]."\"><img src=\"".$_SESSION["product"][$i]["image"]."\"></a><br>";
}
}
?>
view.php
<?
session_start();
//แสดงสินค้าตาม id จาก querystring
$link= mysql_connect($host, $user, $pass);
mysql_select_db($dbname, $link);
$res = mysql_query("SELECT productid, productimage FROM products WHERE productid=".(int)$_GET["id"]." ORDER BY productname LIMIT 1", $link);
while($row = mysql_fetch_array($res, MYSQL_ASSOC)){
$_SESSION["product"][]["id"] = $row["productid"];
$_SESSION["product"][]["image"] = $row["productimage"];
echo "<a href=\"view.php?id=".$row["productid"]."\"><img src=\"".$row["productimage"]."\"></a><br>";
echo "<input type=\"button\" value=\"เพิ่มลงตระกร้า\" onclick=\"add_to_cart.php?id=".$row["productid"]."\">";
}
mysql_free_result($res);
mysql_close($link);
?>
เป็นแนวทางนะครับ จะเห็นว่าเป็นการแสดงสินค้าปกติเพียงแต่ track ว่าเขาเปิดสินค้าใดมาบ้างเท่านั้น วิธีที่ง่ายที่สุดก็ session นี่ล่ะครับ
ที่ผมแจ้งว่าเหมือน shopping cart คือ user ยังไม่ทำการ add สินค้าลง shopping cart ด้วยปุ่ม แต่ก็มีการเก็บไว้เหมือนการเพิ่มลงใน shopping cart แต่แยกไว้อีกส่วนเท่านั้นครับ
index.php
<?
session_start();
//แสดงรายการสินค้าโดยลิงค์ไปยัง view.php?id=เลขที่สินค้า
$link= mysql_connect($host, $user, $pass);
mysql_select_db($dbname, $link);
$res = mysql_query("SELECT productid, productimage FROM products ORDER BY productname", $link);
while($row = mysql_fetch_array($res, MYSQL_ASSOC)){
echo "<a href=\"view.php?id=".$row["productid"]."\"><img src=\"".$row["productimage"]."\"></a><br>";
}
mysql_free_result($res);
mysql_close($link);
//แสดงผลสินค้าที่มีการคลิ๊กผ่านมา
if(count($_SESSION["product"]) > 0){
for($i = 0; $i < count($_SESSION["product"]); $i++){
echo "<a href=\"view.php?id=".$_SESSION["product"][$i]["id"]."\"><img src=\"".$_SESSION["product"][$i]["image"]."\"></a><br>";
}
}
?>
view.php
<?
session_start();
//แสดงสินค้าตาม id จาก querystring
$link= mysql_connect($host, $user, $pass);
mysql_select_db($dbname, $link);
$res = mysql_query("SELECT productid, productimage FROM products WHERE productid=".(int)$_GET["id"]." ORDER BY productname LIMIT 1", $link);
while($row = mysql_fetch_array($res, MYSQL_ASSOC)){
$_SESSION["product"][]["id"] = $row["productid"];
$_SESSION["product"][]["image"] = $row["productimage"];
echo "<a href=\"view.php?id=".$row["productid"]."\"><img src=\"".$row["productimage"]."\"></a><br>";
echo "<input type=\"button\" value=\"เพิ่มลงตระกร้า\" onclick=\"add_to_cart.php?id=".$row["productid"]."\">";
}
mysql_free_result($res);
mysql_close($link);
?>
เป็นแนวทางนะครับ จะเห็นว่าเป็นการแสดงสินค้าปกติเพียงแต่ track ว่าเขาเปิดสินค้าใดมาบ้างเท่านั้น วิธีที่ง่ายที่สุดก็ session นี่ล่ะครับ
ที่ผมแจ้งว่าเหมือน shopping cart คือ user ยังไม่ทำการ add สินค้าลง shopping cart ด้วยปุ่ม แต่ก็มีการเก็บไว้เหมือนการเพิ่มลงใน shopping cart แต่แยกไว้อีกส่วนเท่านั้นครับ
yon_madue

Wed 17 May 2006 10:45:13
Wed 17 May 2006 10:45:13
ได้ ดี มากครับ ท่านพี่ ขอบคุณมาก แต่ ว่ายังติดที่ตรง
//แสดงผลสินค้าที่มีการคลิ๊กผ่านมา
if(count($_SESSION["product"]) > 0){
for($i = 0; $i < count($_SESSION["product"]); $i++){
echo "<a href=\"view.php?id=".$_SESSION["product"][$i]["id"]."\"><img src=\"".$_SESSION["product"][$i]["image"]."\"></a><br>";
}
}
คลิก ลิ้งไป Id ไม่มีครับ เลย ลิ้ง ไปไม่ได้ ครับ จะใส่ Id ยังไง ครับถึง ลิ้งไปได้ ชี้แนะด้วย ครับ
โลกคงสวยงาม หากปัญญาเกิดแด่ท่าน
ขอโทษทีครับผิดตรง
view.php
<?
session_start();
//แสดงสินค้าตาม id จาก querystring
$link= mysql_connect($host, $user, $pass);
mysql_select_db($dbname, $link);
$res = mysql_query("SELECT productid, productimage FROM products WHERE productid=".(int)$_GET["id"]." ORDER BY productname LIMIT 1", $link);
while($row = mysql_fetch_array($res, MYSQL_ASSOC)){
$i = count($_SESSION["product"]);
$_SESSION["product"][$i]["id"] = $row["productid"];
$_SESSION["product"][$i]["image"] = $row["productimage"];
echo "<a href=\"view.php?id=".$row["productid"]."\"><img src=\"".$row["productimage"]."\"></a><br>";
echo "<input type=\"button\" value=\"เพิ่มลงตระกร้า\" onclick=\"add_to_cart.php?id=".$row["productid"]."\">";
}
mysql_free_result($res);
mysql_close($link);
?>
พลาดไป เนื่องจากถ้าใช้ $_SESSION["product"][] จะมีการสร้าง array ขึ้นเรื่อยๆ จึงทำให้รูปไม่อยู่ใน array เดียวกับ id ครับ
view.php
<?
session_start();
//แสดงสินค้าตาม id จาก querystring
$link= mysql_connect($host, $user, $pass);
mysql_select_db($dbname, $link);
$res = mysql_query("SELECT productid, productimage FROM products WHERE productid=".(int)$_GET["id"]." ORDER BY productname LIMIT 1", $link);
while($row = mysql_fetch_array($res, MYSQL_ASSOC)){
$i = count($_SESSION["product"]);
$_SESSION["product"][$i]["id"] = $row["productid"];
$_SESSION["product"][$i]["image"] = $row["productimage"];
echo "<a href=\"view.php?id=".$row["productid"]."\"><img src=\"".$row["productimage"]."\"></a><br>";
echo "<input type=\"button\" value=\"เพิ่มลงตระกร้า\" onclick=\"add_to_cart.php?id=".$row["productid"]."\">";
}
mysql_free_result($res);
mysql_close($link);
?>
พลาดไป เนื่องจากถ้าใช้ $_SESSION["product"][] จะมีการสร้าง array ขึ้นเรื่อยๆ จึงทำให้รูปไม่อยู่ใน array เดียวกับ id ครับ

















