วันเสาร์ที่ 3 ธันวาคม พ.ศ. 2554

ทำระบบ Add to Cart โดยใช้ตัวแปรแบบ Cookie


              ระบบ Add to Cart เป็นระบบจัดเก็บสินค้าจากเว็บร้านค้าออนไลน์ (เว็บขายของ) ที่เราต้องการจะสั่งซื้อ โดยมันจะเก็บข้อมูลทีละรายการสินค้าที่สั่งซื้อในรูปแบบอาเรย์  เรคคอร์ดและคอลัมน์=แถวที่ 1(รหัส,ชื่อ,จำนวน,ราคา),แถวที่ 2(รหัส,ชื่อ,จำนวน,ราคา) … เรคคอร์ดที่ n(รหัส,ชื่อ,จำนวน,ราคา) สำหรับวิธีจัดเก็บข้อมูลที่นิยมกันก็คือ การใช้ตัวแปรแบบSessionและใช้ตัวแปรแบบCookie จัดเก็บข้อมูล
ซึ่งวิธีจัดเก็บทั้งสองวิธีนั้นสิ่งที่แตกต่างกันกันคือ
     - ตัวแปรแบบSessionจะทำงานตอนที่Browserเปิดใช้งานอยู่และข้อมูลจะสูญหายหรือถูกทำลายตอนปิดBrowser
     - แต่สำหรับตัวแปรแบบCookieแล้ว ข้อมูลจะไม่สูญหายถึงแม้ว่าเราจะปิดBrowserไปแล้วก็ตาม แต่มันจะถูกทำลายตอนที่เราเคลียร์ค่าคุ๊กกี้ในBrowserของเรา หรือคุ๊กกี้หมดอายุเท่านั้น เช่น เรากำหนดอายุไว้ 1 เดือน ตัวแปรนี้จะทำงานได้ปกติจนถึง1เดือน และจะถูกทำลายโดยอัตโนมัติครับ
ดังนั้น บทความนี้จะเป็นบทความเกี่ยวกับ การทำระบบ Add to Cart ด้วยตัวแปรแบบ Cookie ครับ สำหรับ การทำะบบตะกร้าสินค้า ด้วยตัวแปรแบบ Session ผมได้สอนไปแล้วในบทความนี้ครับ http://php-for-ecommerce.blogspot.com/2010/12/1-add-to-cart-1-add-to-cart.html เข้าไปอ่านเพิ่มเติมกันได้เลย เพราะผมได้เอาCodeในบทความนี้มาดัดแปลงครับ โดยได้ลบคำสั่งที่เกี่ยวข้องกับ Session ทิ้งและแทนด้วยคำสั่งของตัวแปรแบบ cookie แทนครับ


             อันดับแรกให้สร้างไฟล์ขึ้นมา 3 ไฟล์ ตั้งชื่อ showproduct.php,chkcart.php,mycart.php
ไฟล์ Showproduct.php -> แสดงรายการสินค้าในร้านค้า โดยเราจะเอา Code จากบทความนี้มาดับแปลงนิดหน่อย http://php-for-ecommerce.blogspot.com/2011/11/highslide-image-zoom-for-products.html
ให้พิมพ์ Code ดังนี้

เวลารันไฟล์ขึ้นมาจะได้ผลลัพธ์ดังนี้
ไฟล์showproduct.php
ไฟล์ chkcart.php -> เอาไว้เก็บคำสั่งเพิ่ม ลบ แก้ไข รายการสินค้าในตะกร้า ให้พิมพ์ code ดังนี้

ไฟล์ mycart.php - > แสดงรายการสินค้าในตะกร้า ให้พิมพ์ code ดังนี้

เมื่อพิมพ์ code ดังกล่าวได้ถูกต้องแล้ว จะได้ผลลัพธ์
ไฟล์mycart.php
มาดูผลลัพธ์ของโปรแกรมทั้งหมดกันครับ ให้รันไฟล์ showproduct.php ขึ้นมา
ไฟล์showproduct.php
คลิกที่ไอคอนรูปตะกร้าสินค้าของสินค้ารายการใดรายการหนึ่ง
จะได้ผลลัพธ์ดังรูปข้างล่าง
ไฟล์mycart.php
รายการสินค้าที่อยู่ในตะกร้าสินค้าของร้านค้าออนไลน์ (ไฟล์ mycart.php) จะมีอายุอยู่ได้ 1 เดือน และหลังจากนั้นจะข้อมูลถูกลบทิ้งทั้งหมด
DEMO -> http://panuwat.orgfree.com/crochet/a2c-cookie/showproduct.php

4 ความคิดเห็น :

  1. ถ้าเราทำระบบตะกร้าสินค้า ในหัวข้อ 13.1,13.2,13.3 แล้วเรายังต้องทำ หัวข้อ 13.4.ทำระบบ Add to Cart โดยใช้ตัวแปรแบบ Cookie
    13.5.ทำระบบ Add to Cart แบบ AJAX ด้วย jQuery
    13.6.สอนทำระบบตะกร้าสินค้าแบบ Drag & Drop (คลิกลาก/วาง) ด้วย jQuery UI

    นี้ด้วยรึป่าวค่ะ

    ตอบลบ
    คำตอบ
    1. มันเป็นวิธีทำ add to cart ในแบบต่างๆครับ ต้องเลือกทำอย่างใดอย่างหนึ่งครับ ดังนั้นถ้าทำไปแล้ว ก็ไม่ต้องทำข้ออื่นครับ

      ลบ
  2. ทำตามทุกอย่างแล้วอ่ะค่ะ ผลลัพธ์ขึ้น ไม่พบสินค้าในตระกร้า

    ตอบลบ
    คำตอบ
    1. ผมทดสอบดูแล้วครับ ใช้ได้ปกตินะครับ
      ลองดูคำสั่ง sql ในไฟล์ chkcart.php

      $rs_record=mysql_fetch_array(mysql_query("SELECT pd_name,pd_amount FROM tb_product WHERE pd_id=".$pdid[$i].""));

      ลบ