<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ระบบตะกร้าสินค้า - itOffside.com | บทความการเขียนโปรแกรม เรื่องราวข้อมูลเทคโนโลยี</title>
	<atom:link href="https://www.itoffside.com/tag/%E0%B8%A3%E0%B8%B0%E0%B8%9A%E0%B8%9A%E0%B8%95%E0%B8%B0%E0%B8%81%E0%B8%A3%E0%B9%89%E0%B8%B2%E0%B8%AA%E0%B8%B4%E0%B8%99%E0%B8%84%E0%B9%89%E0%B8%B2/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.itoffside.com</link>
	<description>ข้อมูลข่าวสารและเรื่องราวบนโลกของไอทีที่ ล้ำหน้า พร้อมสาระการเขียนโปรแกรมคอมพิวเตอร์</description>
	<lastBuildDate>Mon, 12 Feb 2024 13:49:26 +0000</lastBuildDate>
	<language>th</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://www.itoffside.com/wp-content/uploads/2020/04/cropped-favicon-96x96-1-32x32.png</url>
	<title>ระบบตะกร้าสินค้า - itOffside.com | บทความการเขียนโปรแกรม เรื่องราวข้อมูลเทคโนโลยี</title>
	<link>https://www.itoffside.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>PHP Workshop Shoppingcart จัดการสินค้า, ตะกร้าสินค้า, สั่งซื้อสินค้า [Full Course] สอนละเอียด ฟรี!</title>
		<link>https://www.itoffside.com/php-workshop-shoppingcart/</link>
					<comments>https://www.itoffside.com/php-workshop-shoppingcart/#respond</comments>
		
		<dc:creator><![CDATA[Onmobile]]></dc:creator>
		<pubDate>Tue, 29 Aug 2023 05:20:01 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[MySQLi]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php 8]]></category>
		<category><![CDATA[php shopping cart]]></category>
		<category><![CDATA[php workshop]]></category>
		<category><![CDATA[php ระบบจัดการสินค้า]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[php7]]></category>
		<category><![CDATA[shopping cart]]></category>
		<category><![CDATA[workshop cart]]></category>
		<category><![CDATA[ระบบตะกร้าสินค้า]]></category>
		<guid isPermaLink="false">https://www.itoffside.com/?p=3485</guid>

					<description><![CDATA[<p>วิดีโอสอนเขียนโปรแกรมแบบ WorkShop PHP Shoppingcart ตะกร้าสินค้า วิดีโอนี้พาสอนการเขียนโปรแกรมเต็มรูปแบบมีระบบ 1. จัดการสินค้า เพิ่ม ลบ แก้ไข แสดงรายการสินค้า 2. จัดการตะกร้าสินค้า เพิ่มสินค้าเข้าในตะกร้า, อัพเดทจำนวนสินค้าในตะกร้า, ลบสินค้าออกจากตะกร้า 3. ระบบสั่งซื้อหลังจากหยิบสินค้าใส่ตะกร้าแล้ว ส...</p>
<p>The post <a href="https://www.itoffside.com/php-workshop-shoppingcart/">PHP Workshop Shoppingcart จัดการสินค้า, ตะกร้าสินค้า, สั่งซื้อสินค้า [Full Course] สอนละเอียด ฟรี!</a> first appeared on <a href="https://www.itoffside.com">itOffside.com | บทความการเขียนโปรแกรม เรื่องราวข้อมูลเทคโนโลยี</a>.</p>]]></description>
										<content:encoded><![CDATA[<h1>วิดีโอสอนเขียนโปรแกรมแบบ WorkShop PHP Shoppingcart ตะกร้าสินค้า</h1>
<h3>วิดีโอนี้พาสอนการเขียนโปรแกรมเต็มรูปแบบมีระบบ</h3>
<p>1. จัดการสินค้า เพิ่ม ลบ แก้ไข แสดงรายการสินค้า<br />
2. จัดการตะกร้าสินค้า เพิ่มสินค้าเข้าในตะกร้า, อัพเดทจำนวนสินค้าในตะกร้า, ลบสินค้าออกจากตะกร้า<br />
3. ระบบสั่งซื้อหลังจากหยิบสินค้าใส่ตะกร้าแล้ว</p>
<h3>สิ่งที่ได้รับจากวิดีโอนี้</h3>
<p>1. การเขียน PHP เชื่อมต่อกับ MySQLi<br />
2. การเขียน PHP workshop แบบ CRUD [Create, Read, Update Delete]<br />
3. การเขียน PHP กับ Session ในการจัดการตะกร้าสินค้า</p>
<p><span id="more-3485"></span></p>
<h3>สารบัญการสอน</h3>
<ol>
<li>Demo ระบบ</li>
<li>สร้างฐานข้อมูล(Database)</li>
<li>สร้างโปรเจ็ค Shoppingcart</li>
<li>สร้างไฟล์ config.php</li>
<li>สร้างหน้า index.php รายการ, เพิ่ม, แก้ไข, ลบ สินค้า</li>
<li>เพิ่มสินค้าเข้าฐานข้อมูล</li>
<li>แสดงรายการสินค้า</li>
<li>แก้ไขสินค้า</li>
<li>ลบสินค้า</li>
<li>สินค้าสำหรับหยิบใส่ตะกร้า</li>
<li>เพิ่มสินค้าลงในตะกร้า</li>
<li>แสดงจำนวนสินค้าตะกร้า</li>
<li>หน้ารายการตะกร้าสินค้า</li>
<li>ลบสินค้าออกจากตะกร้า</li>
<li>อัพเดทจำนวนสินค้าในตะกร้า</li>
<li>หน้าสั่งซื้อสินค้า Checkout</li>
<li>fix error session[cart]</li>
</ol>
<h3>วิดีโอสอน Full Course ฟรี</h3>
<p><iframe title="PHP Workshop Shoppingcart จัดการสินค้า, ตะกร้าสินค้า, สั่งซื้อสินค้า [Full] สอนละเอียด เต็มระบบ" width="660" height="371" src="https://www.youtube.com/embed/UWaWAjAqPzs?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<h3><span style="color: #ff00ff;">หากต้องการ Sourcode สามารถซื้อเพื่อสนับสนุนผู้สอนได้ที่</span></h3>
<h4><span style="color: #ff9900;"><span style="color: #ff0000;"><del>500บาท</del></span> <span style="color: #000000;">โปรลดราคาเหลือเพียง</span> <em>300 บาท</em></span></h4>
<p>inbox เพจ <a href="https://www.facebook.com/itoffside" target="_blank" rel="noopener">https://www.facebook.com/itoffside</a><br />
หรือ ติดต่อที่ไลน์ไอดี @eke8377p (มี @ ข้างหน้าด้วย)</p>
<p><strong>LINE ID:</strong></p>
<p><img decoding="async" class="" src="https://qr-official.line.me/L/GjDKhMhfT9.png" width="223" height="223"></p><p>The post <a href="https://www.itoffside.com/php-workshop-shoppingcart/">PHP Workshop Shoppingcart จัดการสินค้า, ตะกร้าสินค้า, สั่งซื้อสินค้า [Full Course] สอนละเอียด ฟรี!</a> first appeared on <a href="https://www.itoffside.com">itOffside.com | บทความการเขียนโปรแกรม เรื่องราวข้อมูลเทคโนโลยี</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.itoffside.com/php-workshop-shoppingcart/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>แจกเว็บไซต์ระบบอีคอมเมิร์ซ(E-Commerce) สำหรับพัฒนา</title>
		<link>https://www.itoffside.com/free-download-sourcecode-ecommerce-php/</link>
					<comments>https://www.itoffside.com/free-download-sourcecode-ecommerce-php/#comments</comments>
		
		<dc:creator><![CDATA[Onmobile]]></dc:creator>
		<pubDate>Sun, 11 Jan 2015 09:42:09 +0000</pubDate>
				<category><![CDATA[jquery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[E-Commerce]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php shopping cart]]></category>
		<category><![CDATA[php workshop]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[ระบบตะกร้าสินค้า]]></category>
		<guid isPermaLink="false">https://www.itoffside.com/?p=2417</guid>

					<description><![CDATA[<p>เว็บไซต์ระบบอีคอมเมิร์ซ(E-Commerce)เป็นระบบเว็บไซต์ที่ลูกค้าสามารถสั่งซื้อสินค้าผ่านเว็บไซต์ได้ตลอด 24 ชั่วโมงจึงทำให้ปัจจุบันมีเว็บไซต์อีคอมเมิร์ซมากมาย ดังนั้นผมจึงเขียนเว็บไซต์อีคอมเมิร์ซขึ้นมาเพื่อให้ผู้อ่านทุกคนศึกษาการทำงานและนำไปเป็นตัวอย่างได้ซึ่งระบบเว็บอีคอมเมิร์ซ(E-Commerce) ผมได้ใช้ภาษา ...</p>
<p>The post <a href="https://www.itoffside.com/free-download-sourcecode-ecommerce-php/">แจกเว็บไซต์ระบบอีคอมเมิร์ซ(E-Commerce) สำหรับพัฒนา</a> first appeared on <a href="https://www.itoffside.com">itOffside.com | บทความการเขียนโปรแกรม เรื่องราวข้อมูลเทคโนโลยี</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>เว็บไซต์ระบบอีคอมเมิร์ซ(E-Commerce)เป็นระบบเว็บไซต์ที่ลูกค้าสามารถสั่งซื้อสินค้าผ่านเว็บไซต์ได้ตลอด 24 ชั่วโมงจึงทำให้ปัจจุบันมีเว็บไซต์อีคอมเมิร์ซมากมาย ดังนั้นผมจึงเขียนเว็บไซต์อีคอมเมิร์ซขึ้นมาเพื่อให้ผู้อ่านทุกคนศึกษาการทำงานและนำไปเป็นตัวอย่างได้ซึ่งระบบเว็บอีคอมเมิร์ซ(E-Commerce) ผมได้ใช้ภาษา PHP ในการพัฒนา(เขียน) ขึ้นและใช้ฐานข้อมูล MySQL ในการเก็บจัดการข้อมูลและใช้เครื่องมือ(Tool) css คือ <a href="http://getbootstrap.com/" target="_blank">bootstrap</a> ในการสร้างหน้าจอสำหรับหน้าเว็บและหลังเว็บ(frontend/backend) และสิ่งสำคัญสำหรับในยุคปัจจุบันคือ SEO ผมได้พัฒนาเว็บไซต์โดยให้ URL เป็นมิตร(อ่านง่าย) เพื่อ SEO โดยหากคุณดาวน์โหลดนำไปใช้งานหรือทดลองต้องเปิด mod_rewrite ที่ Apache ก่อนครับ<span id="more-2417"></span><br />
ตัวอย่างให้คุณได้ทดลองระบบที่ <a href="http://sysapp.itoffside.com/ecproduct" target="_blank">คลิกที่นี้(Demo)</a><br />
เข้าหน้าจัดการระบบ? <a href="http://sysapp.itoffside.com/ecproduct/itoffside-admin" target="_blank">http://sysapp.itoffside.com/ecproduct/itoffside-admin<br />
</a>username:tawatsak<br />
password:12345678</p>
<p>หากต้องการดาวน์โหลด sorce code ทางผู้พัฒนาสามารถดาวน์โหลดได้ที่ลิงค์ด้านล่างนี้</p>
<p>[sociallocker]</p>
<p><a href="https://github.com/ipball/ecproduct.git" target="_blank">คลิกที่นี้เพื่อดาวน์โหลด</a></p>
<p>และสำหรับ<span style="text-decoration: underline;"><em><strong><span style="color: #ff00ff; text-decoration: underline;"> เวอร์ชั่น Codeigneter V3 </span></strong></em></span>ที่ทางผู้พัฒนา <span style="text-decoration: underline;">Tanny Chan</span> ได้ร่วมเข้าพัฒนาด้วย สามารถดาวน์โหลดได้ที่ <a href="https://github.com/ipball/eccom_v3/archive/master.zip" target="_blank">คลิกที่นี้เพื่อดาวน์โหลด</a></p>
<p>Link สำหรับ Git<br />
ecProduct Git</p>
<h3></h3>
<p>[/sociallocker]</p>
<p>ส่วนของการติดตั้งอยู่ในบทความนี้ ด้านล่างครับ</p>
<p><span style="color: #ff00ff;"><strong>ระบบเว็บอีคอมเมิร์ซมีฟังก์ชั่นการทำงานดังนี้</strong></span><br />
1. ระบบตะกร้าสินค้า<br />
2. ระบบสั่งซื้อสินค้า<br />
3. ระบบจัดการสินค้า/หมวดหมู่สินค้า<br />
4. ระบบจัดการสั่งซื้อสินค้า<br />
5. ระบบจัดการการชำระเงิน<br />
6. ระบบจัดการเนื้อหาเบื้องต้น</p>
<p><span style="color: #ff00ff;"><strong>รูปภาพตัวอย่างระบบเว็บอีคอมเมิร์ซ(E-Commerce)</strong></span><br />
1. แสดงรายการสินค้า ตามหมวดหมู่/ทั้งหมด</p>
<p><img fetchpriority="high" decoding="async" class="alignnone wp-image-2421" src="https://www.itoffside.com/wp-content/uploads/2015/01/01.jpg" alt="แสดงรายการสินค้า" width="721" height="472" srcset="https://www.itoffside.com/wp-content/uploads/2015/01/01.jpg 997w, https://www.itoffside.com/wp-content/uploads/2015/01/01-300x196.jpg 300w" sizes="(max-width: 721px) 100vw, 721px" /></p>
<p>2. ระบบตะกร้าสินค้า สามารถเปลี่ยนแปลงข้อมูลในตะกร้าตลอดเวลาก่อนการสั่งซื้อ<br />
<img loading="lazy" decoding="async" class="alignnone wp-image-2422" src="https://www.itoffside.com/wp-content/uploads/2015/01/02.jpg" alt="ระบบตะกร้าสินค้า" width="714" height="403" srcset="https://www.itoffside.com/wp-content/uploads/2015/01/02.jpg 1027w, https://www.itoffside.com/wp-content/uploads/2015/01/02-300x169.jpg 300w, https://www.itoffside.com/wp-content/uploads/2015/01/02-1024x578.jpg 1024w" sizes="auto, (max-width: 714px) 100vw, 714px" /></p>
<p>3. ระบบสั่งซื้อสินค้า<br />
<img loading="lazy" decoding="async" class="alignnone wp-image-2423" src="https://www.itoffside.com/wp-content/uploads/2015/01/03.jpg" alt="ระบบสั่งซื้อสินค้า" width="702" height="432" srcset="https://www.itoffside.com/wp-content/uploads/2015/01/03.jpg 1051w, https://www.itoffside.com/wp-content/uploads/2015/01/03-300x185.jpg 300w, https://www.itoffside.com/wp-content/uploads/2015/01/03-1024x630.jpg 1024w" sizes="auto, (max-width: 702px) 100vw, 702px" /><br />
<a href="https://www.itoffside.com/wp-content/uploads/2015/01/04.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2424" src="https://www.itoffside.com/wp-content/uploads/2015/01/04.jpg" alt="ระบบสั่งซื้อสินค้า" width="641" height="290" srcset="https://www.itoffside.com/wp-content/uploads/2015/01/04.jpg 641w, https://www.itoffside.com/wp-content/uploads/2015/01/04-300x136.jpg 300w" sizes="auto, (max-width: 641px) 100vw, 641px" /></a></p>
<p>4. ระบบจัดการข้อมูลสินค้า (admin)<br />
<img loading="lazy" decoding="async" class="alignnone wp-image-2425" src="https://www.itoffside.com/wp-content/uploads/2015/01/05.jpg" alt="ระบบจัดการข้อมูลสินค้า/หมวดหมู่สินค้า" width="683" height="310" srcset="https://www.itoffside.com/wp-content/uploads/2015/01/05.jpg 1024w, https://www.itoffside.com/wp-content/uploads/2015/01/05-300x136.jpg 300w" sizes="auto, (max-width: 683px) 100vw, 683px" /></p>
<p>5. หยิบสินค้าใส่ตะกร้า<br />
<img loading="lazy" decoding="async" class="alignnone wp-image-2427" src="https://www.itoffside.com/wp-content/uploads/2015/01/07.jpg" alt="คำนวณสินค้าใส่ในตะกร้า" width="554" height="316" srcset="https://www.itoffside.com/wp-content/uploads/2015/01/07.jpg 984w, https://www.itoffside.com/wp-content/uploads/2015/01/07-300x171.jpg 300w" sizes="auto, (max-width: 554px) 100vw, 554px" /></p>
<p>6. ระบบจัดการ การสั่งซื้อสินค้า (admin)<br />
<img loading="lazy" decoding="async" class="alignnone wp-image-2428" src="https://www.itoffside.com/wp-content/uploads/2015/01/08.jpg" alt="ระบบจัดการ การสั่งซื้อสินค้า" width="667" height="320" srcset="https://www.itoffside.com/wp-content/uploads/2015/01/08.jpg 984w, https://www.itoffside.com/wp-content/uploads/2015/01/08-300x144.jpg 300w" sizes="auto, (max-width: 667px) 100vw, 667px" /></p>
<p>7. ระบบการจัดการ การชำระเงิน<br />
<img loading="lazy" decoding="async" class="alignnone wp-image-2429" src="https://www.itoffside.com/wp-content/uploads/2015/01/09.jpg" alt="ระบบการชำระเงิน" width="626" height="324" srcset="https://www.itoffside.com/wp-content/uploads/2015/01/09.jpg 1077w, https://www.itoffside.com/wp-content/uploads/2015/01/09-300x155.jpg 300w, https://www.itoffside.com/wp-content/uploads/2015/01/09-1024x530.jpg 1024w" sizes="auto, (max-width: 626px) 100vw, 626px" /></p>
<p>&nbsp;</p>
<p><span style="color: #ff00ff;"><strong>การติดตั้ง</strong></span><br />
1. ดาวน์โหลดไฟล์มาแล้วให้นำมาวางที่เซิฟเวอร์หรือเซิฟเวอร์จำลองของเครื่องคุณ(จากตัวอย่างผมใช้ XAMPP ผมต้องนำไฟล์ที่ผมดาวน์โหลดมาวางไว้ที่ C:\xampp\htdocs และจะได้เป็น C:\xampp\htdocs\ecproduct)<br />
2. ทำการ Import ฐานข้อมูลโดยไฟล์ที่จะนำไป import อยู่ที่โฟล์เดอร์ ecproduct ชื่อไฟล์ ecproduct.sql (ต้องสร้างฐานข้อมูล ชื่อ ecproduct ก่อนแล้วนำไฟล์เข้าไป import ใส่ไว้)<br />
3. ทำการเปลี่ยนค่าฐานข้อมูลให้ตรงกับข้อมูลของคุณ เช่น (รหัสผ่านเข้าฐานข้อมูล) ซึ่งไฟล์ในการแก้ไขอยู่ในโฟล์เดอร์ ecproduct\library\database.php (แก้ไขบรรทัดที่ 10-12)<br />
4. แก้ไขไฟล์ \library\core.php บรรทัดที่ 4 และบรรทัดที่ 8 ให้ตรงตามเว็บไซต์ของคุณ<br />
5. แก้ไขไฟล์ .htaccess ในบรรทัดที่ 3 หากชื่อโฟล์เดอร์คุณเปลี่ยนต้องแก้ไขหรือเมื่อคุณอัพโหลดไว้บนเซิฟเวอร์<br />
6. หากคุณอัพโหลดขึ้นบนเซิฟเวอร์คุณต้องกำหนดสิทธิ์โฟล์เดอร์ ecproduct\upload ให้เป็น CHMOD 777<br />
7. เริ่มใช้งานระบบอีคอมเมิร์ซ(E-Commerce)</p>
<p>Sourcecode ที่ผมแจก คุณสามารถนำไปพัฒนาต่อหรือนำไปใช้งานต่อได้และผมจะพัฒนาระบบอีคอมเมิร์ซ(E-Commerce)? ecProduct ต่อไปครับ<br />
ผมหวังว่าระบบเว็บไซต์อีคอมเมิร์ซ(E-Commerce) เป็นตัวอย่างที่ดีให้กับผู้ที่เริ่มศึกษาหรือผู้ที่ต้องการดู Sourcecode เป็นตัวอย่างในการเรียนรู้และนำไปพัฒนา และผมหวังเป็นอย่างยิ่งหากคุณชอบรบกวน กด LIKE ที่แฟนเพจด้านขวามือด้วยครับ</p>
<p>หากใครมีปัญหาการติดตั้งในส่วนไหน แจ้งมาที่ Comment ด้านล่างหรือแจ้งมาทางอีเมล์ของผม</p><p>The post <a href="https://www.itoffside.com/free-download-sourcecode-ecommerce-php/">แจกเว็บไซต์ระบบอีคอมเมิร์ซ(E-Commerce) สำหรับพัฒนา</a> first appeared on <a href="https://www.itoffside.com">itOffside.com | บทความการเขียนโปรแกรม เรื่องราวข้อมูลเทคโนโลยี</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.itoffside.com/free-download-sourcecode-ecommerce-php/feed/</wfw:commentRss>
			<slash:comments>573</slash:comments>
		
		
			</item>
		<item>
		<title>PHP Workshop ระบบตะกร้าสั่งซื้อสินค้า (Shopping Cart)</title>
		<link>https://www.itoffside.com/php-workshop-shopping-cart/</link>
					<comments>https://www.itoffside.com/php-workshop-shopping-cart/#comments</comments>
		
		<dc:creator><![CDATA[Onmobile]]></dc:creator>
		<pubDate>Tue, 15 Apr 2014 17:20:50 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[php shopping cart]]></category>
		<category><![CDATA[php workshop]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[ระบบตะกร้าสินค้า]]></category>
		<guid isPermaLink="false">https://www.itoffside.com/?p=203</guid>

					<description><![CDATA[<p>PHP Workshop ระบบตะกร้าสั่งซื้อสินค้า เป็นตัวอย่าง Code โดยใช้ความฟังก์ชั่น PHP Array และ ฟังก์ชั่น Session ในการทำงานของระบบตะกร้าโดยดึงข้อมูลสินค้าจาก MySQL (ฐานข้อมูล) มาแสดง ส่วนหลักการทำงานของ Code นั้นเป็นหลักการทำงานแบบง่ายๆ ผู้อ่านและผู้ศึกษาสามารถทำความเข้าใจในบทความนี้ได้อย่างรวดเร็ว โดยจะ...</p>
<p>The post <a href="https://www.itoffside.com/php-workshop-shopping-cart/">PHP Workshop ระบบตะกร้าสั่งซื้อสินค้า (Shopping Cart)</a> first appeared on <a href="https://www.itoffside.com">itOffside.com | บทความการเขียนโปรแกรม เรื่องราวข้อมูลเทคโนโลยี</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>PHP Workshop ระบบตะกร้าสั่งซื้อสินค้า เป็นตัวอย่าง Code โดยใช้ความฟังก์ชั่น PHP Array และ ฟังก์ชั่น Session ในการทำงานของระบบตะกร้าโดยดึงข้อมูลสินค้าจาก MySQL (ฐานข้อมูล) มาแสดง ส่วนหลักการทำงานของ Code นั้นเป็นหลักการทำงานแบบง่ายๆ ผู้อ่านและผู้ศึกษาสามารถทำความเข้าใจในบทความนี้ได้อย่างรวดเร็ว โดยจะมีรูปภาพพร้อมคำบรรยายประกอบใต้ภาพ<span id="more-203"></span></p>
<p><strong>ความสามารถของระบบ Shopping cart ที่ผู้เขียนได้สร้างขึ้นนั้นมีดังต่อไปนี้</strong></p>
<p><span style="color: #ff00ff;">&#8211; แสดงรายการสินค้าจากฐานข้อมูลโดยใช้ฐานข้อมูล MySQL</span><br />
<span style="color: #ff00ff;"> &#8211; เก็บข้อมูลของสินค้าลงในตะกร้าสินค้าโดยใช้ Session และ Array</span><br />
<span style="color: #ff00ff;"> &#8211; เก็บสินค้าลงในตะกร้าสินค้าซ้ำรายการได้โดยนำไปเพิ่มจำนวนที่มีอยู่ (บันทึกเพิ่มจำนวน)</span><br />
<span style="color: #ff00ff;"> &#8211; แสดงจำนวนสินค้าในตะกร้าสินค้า</span><br />
<span style="color: #ff00ff;"> &#8211; กำหนดจำนวนสินค้าในหน้าตะกร้าสินค้าได้ตามที่ต้องการ</span><br />
<span style="color: #ff00ff;"> &#8211; ลบสินค้าออกจากตะกร้าสินค้าได้ตามที่ต้องการ</span><br />
<span style="color: #ff00ff;"> &#8211; ระบบจัดเก็บข้อมูลการสั่งซื้อพร้อมรายละเอียดผู้สั่งซื้อลงในฐานข้อมูล MySQL</span></p>
<p>สร้างฐานข้อมูลชื่อ shopping_cart หลังจากสร้างเสร็จเรียบร้อยแล้วให้นำ Script SQL ด้านล่างนี้ไป Run เพื่อทำการสร้างตาราง<br />
<!--?prettify linenums=true?--></p><pre class="crayon-plain-tag">— phpMyAdmin SQL Dump
— version 4.0.9
— http://www.phpmyadmin.net
—
— Host: 127.0.0.1
— Generation Time: Apr 15, 2014 at 06:58 PM
— Server version: 5.5.34
— PHP Version: 5.4.22

SET SQL_MODE = “NO_AUTO_VALUE_ON_ZERO”;
SET time_zone = “+00:00”;

—
— Database: `shopping_cart`
—

— ——————————————————–

—
— Table structure for table `orders`
—

CREATE TABLE IF NOT EXISTS `orders` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`order_date` datetime NOT NULL,
`order_fullname` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`order_address` tinytext COLLATE utf8_unicode_ci NOT NULL,
`order_phone` varchar(10) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;

—
— Table structure for table `order_details`
—

CREATE TABLE IF NOT EXISTS `order_details` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`order_detail_quantity` tinyint(4) NOT NULL,
`order_detail_price` decimal(10,2) NOT NULL,
`product_id` int(11) NOT NULL,
`order_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=9 ;

—
— Table structure for table `products`
—

CREATE TABLE IF NOT EXISTS `products` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`product_code` varchar(60) COLLATE utf8_unicode_ci NOT NULL,
`product_name` varchar(60) COLLATE utf8_unicode_ci NOT NULL,
`product_desc` tinytext COLLATE utf8_unicode_ci NOT NULL,
`product_img_name` varchar(60) COLLATE utf8_unicode_ci NOT NULL,
`product_price` decimal(10,2) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `product_code` (`product_code`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ;

—
— Dumping data for table `products`
—

INSERT INTO `products` (`id`, `product_code`, `product_name`, `product_desc`, `product_img_name`, `product_price`) VALUES
(1, ‘P00001’, ‘iPhone 5s’, ‘โทรศัพท์คุณภาพยี่ห้อ Apple’, ‘iphone5s.jpg’, ‘25000.00’),
(2, ‘P00002’, ‘Samsung Galaxy S4’, ‘โทรศัพท Andriod ยอดนิยม’, ‘ss4.jpg’, ‘17890.00’),
(3, ‘P00003’, ‘Samsung Galaxy Note3’, ‘โทรศัพท์สำหรับคนชอบจด’, ‘note3.jpg’, ‘23000.00’);</pre><p>&nbsp;</p>
<p>1. สร้างไฟล์เชื่อมต่อฐานข้อมูลชื่อ connect.php แล้วนำโค๊ดด้านล่างนี้ใส่</p><pre class="crayon-plain-tag">&lt;?php
/*
 * set var
 */
$cfHost = "localhost";
$cfUser = "root";
$cfPassword = "";
$cfDatabase = "shopping_cart";

/*
 * connection mysql
 */
$meConnect = mysql_connect($cfHost, $cfUser, $cfPassword) or die("Error conncetion mysql...");
$meDatabase = mysql_select_db($cfDatabase);
mysql_query("SET NAMES UTF8");
?&gt;</pre><p>&nbsp;</p>
<p>2. คัดลอกโฟล์เดอร์ Bootstrap และโฟล์เดอร์ images ไปวางในโฟล์เดอร์โปรเจ็ค เช่น www/shopping_cart/ เป็นต้น โดยสามารถดาวน์โหลดไฟล์ได้จากด้านล่างบทความเรื่องนี้ (ท้ายบทความ)</p>
<p>3. สร้าง Project ใหม่แล้ว เพิ่ม code ในตัวอย่างด้านล่างนี้ลงไปในไฟล์ index.php ซึ่งการทำงานของไฟล์ index.php นี้จะแสดงรายการสินค้าที่จะทำการหยิบใส่ตะกร้า</p><pre class="crayon-plain-tag">&lt;?php
session_start();
require 'connect.php';
$meSql = "SELECT * FROM products ";
$meQuery = mysql_query($meSql);

$action = isset($_GET['a']) ? $_GET['a'] : "";
$itemCount = isset($_SESSION['cart']) ? count($_SESSION['cart']) : 0;
if(isset($_SESSION['qty'])){
$meQty = 0;
foreach($_SESSION['qty'] as $meItem){
$meQty = $meQty + $meItem;
}
}else{
$meQty=0;
}
?&gt;
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
&lt;meta charset="utf-8"&gt;
&lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt;
&lt;title&gt;itoffside.com shopping cart&lt;/title&gt;

&lt;!-- Bootstrap --&gt;
&lt;link href="bootstrap/css/bootstrap.min.css" rel="stylesheet"&gt;
&lt;link href="bootstrap/css/nava.css" rel="stylesheet"&gt;

&lt;!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --&gt;
&lt;!-- WARNING: Respond.js doesn't work if you view the page via file:// --&gt;
&lt;!--[if lt IE 9]&gt;
&lt;script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"&gt;&lt;/script&gt;
&lt;script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"&gt;&lt;/script&gt;
&lt;![endif]--&gt;

&lt;/head&gt;
&lt;body&gt;
&lt;div class="container"&gt;

&lt;!-- Static navbar --&gt;
&lt;div class="navbar navbar-default" role="navigation"&gt;
&lt;div class="container-fluid"&gt;
&lt;div class="navbar-header"&gt;
&lt;button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"&gt;
&lt;span class="sr-only"&gt;Toggle navigation&lt;/span&gt;
&lt;span class="icon-bar"&gt;&lt;/span&gt;
&lt;span class="icon-bar"&gt;&lt;/span&gt;
&lt;span class="icon-bar"&gt;&lt;/span&gt;
&lt;/button&gt;
&lt;a class="navbar-brand" href="#"&gt;Shopping Cart - ItOffside.com&lt;/a&gt;
&lt;/div&gt;
&lt;div class="navbar-collapse collapse"&gt;
&lt;ul class="nav navbar-nav"&gt;
&lt;li class="active"&gt;&lt;a href="index.php"&gt;หน้าแรกสินค้า&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="cart.php"&gt;ตะกร้าสินค้าของฉัน &lt;span class="badge"&gt;&lt;?php echo $meQty; ?&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;!--/.nav-collapse --&gt;
&lt;/div&gt;&lt;!--/.container-fluid --&gt;
&lt;/div&gt;

&lt;!-- Main component for a primary marketing message or call to action --&gt;

&lt;h3&gt;หน้าแรกของสินค้า&lt;/h3&gt;
&lt;?php
if($action == 'exists'){
echo "&lt;div class=\"alert alert-warning\"&gt;เพิ่มจำนวนสินค้าแล้ว&lt;/div&gt;";
}
if($action == 'add'){
echo "&lt;div class=\"alert alert-success\"&gt;เพิ่มสินค้าลงในตะกร้าเรียบร้อยแล้ว&lt;/div&gt;";
}
if($action == 'order'){
echo "&lt;div class=\"alert alert-success\"&gt;สั่งซื้อสินค้าเรียบร้อยแล้ว&lt;/div&gt;";
}
if($action == 'orderfail'){
echo "&lt;div class=\"alert alert-warning\"&gt;สั่งซื้อสินค้าไม่สำเร็จ มีข้อผิดพลาดเกิดขึ้นกรุณาลองใหม่อีกครั้ง&lt;/div&gt;";
}
?&gt;
&lt;table class="table table-striped"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;รหัสสินค้า&lt;/th&gt;
&lt;th&gt;ชื่อสินค้า&lt;/th&gt;
&lt;th&gt;รายละเอียด&lt;/th&gt;
&lt;th&gt;ราคา&lt;/th&gt;
&lt;th&gt;&amp;nbsp;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;?php
while ($meResult = mysql_fetch_assoc($meQuery))
{
?&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="images/&lt;?php echo $meResult['product_img_name']; ?&gt;" border="0"&gt;&lt;/td&gt;
&lt;td&gt;&lt;?php echo $meResult['product_code']; ?&gt;&lt;/td&gt;
&lt;td&gt;&lt;?php echo $meResult['product_name']; ?&gt;&lt;/td&gt;
&lt;td&gt;&lt;?php echo $meResult['product_desc']; ?&gt;&lt;/td&gt;
&lt;td&gt;&lt;?php echo number_format($meResult['product_price'],2); ?&gt;&lt;/td&gt;
&lt;td&gt;
&lt;a class="btn btn-primary btn-lg" href="updatecart.php?itemId=&lt;?php echo $meResult['id']; ?&gt;" role="button"&gt;
&lt;span class="glyphicon glyphicon-shopping-cart"&gt;&lt;/span&gt;
หยิบใส่ตะกร้า&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;?php
}
?&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;/div&gt; &lt;!-- /container --&gt;

&lt;!-- jQuery (necessary for Bootstrap's JavaScript plugins) --&gt;
&lt;script src="bootstrap/js/jquery.min.js"&gt;&lt;/script&gt;
&lt;!-- Include all compiled plugins (below), or include individual files as needed --&gt;
&lt;script src="bootstrap/js/bootstrap.min.js"&gt;&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;?php
mysql_close();
?&gt;</pre><p>ผลลัพธ์จากไฟล์ index.php</p>
<figure id="attachment_210" aria-describedby="caption-attachment-210" style="width: 581px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-210" src="https://www.itoffside.com/wp-content/uploads/2014/04/shopping-cart-01.jpg" alt="ตัวอย่างระบบตะกร้าสินค้า" width="581" height="246" srcset="https://www.itoffside.com/wp-content/uploads/2014/04/shopping-cart-01.jpg 581w, https://www.itoffside.com/wp-content/uploads/2014/04/shopping-cart-01-300x127.jpg 300w" sizes="auto, (max-width: 581px) 100vw, 581px" /><figcaption id="caption-attachment-210" class="wp-caption-text">ตัวอย่างระบบตะกร้าสินค้า</figcaption></figure>
<p>&nbsp;</p>
<p>4. สร้างไฟล์ cart.php แล้วนำ code ด้านล่างไปใส่ การทำงานของไฟล์นี้เป็นการแสดงรายการสินค้าในตะกร้าโดย session จะเก็บข้อมูล id ของสินค้า แล้วนำมาใช้งานด้วยการดึงข้อมูล MySQL</p><pre class="crayon-plain-tag">&lt;?php
session_start();
require 'connect.php';
$action = isset($_GET['a']) ? $_GET['a'] : "";
$itemCount = isset($_SESSION['cart']) ? count($_SESSION['cart']) : 0;
if (isset($_SESSION['qty']))
{
$meQty = 0;
foreach ($_SESSION['qty'] as $meItem)
{
$meQty = $meQty + $meItem;
}
} else
{
$meQty = 0;
}
if (isset($_SESSION['cart']) and $itemCount &gt; 0)
{
$itemIds = "";
foreach ($_SESSION['cart'] as $itemId)
{
$itemIds = $itemIds . $itemId . ",";
}
$inputItems = rtrim($itemIds, ",");
$meSql = "SELECT * FROM products WHERE id in ({$inputItems})";
$meQuery = mysql_query($meSql);
$meCount = mysql_num_rows($meQuery);
} else
{
$meCount = 0;
}
?&gt;
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
&lt;meta charset="utf-8"&gt;
&lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt;
&lt;title&gt;itoffside.com shopping cart&lt;/title&gt;

&lt;!-- Bootstrap --&gt;
&lt;link href="bootstrap/css/bootstrap.min.css" rel="stylesheet"&gt;
&lt;link href="bootstrap/css/nava.css" rel="stylesheet"&gt;

&lt;!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --&gt;
&lt;!-- WARNING: Respond.js doesn't work if you view the page via file:// --&gt;
&lt;!--[if lt IE 9]&gt;
&lt;script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"&gt;&lt;/script&gt;
&lt;script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"&gt;&lt;/script&gt;
&lt;![endif]--&gt;

&lt;/head&gt;
&lt;body&gt;
&lt;div class="container"&gt;

&lt;!-- Static navbar --&gt;
&lt;div class="navbar navbar-default" role="navigation"&gt;
&lt;div class="container-fluid"&gt;
&lt;div class="navbar-header"&gt;
&lt;button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"&gt;
&lt;span class="sr-only"&gt;Toggle navigation&lt;/span&gt;
&lt;span class="icon-bar"&gt;&lt;/span&gt;
&lt;span class="icon-bar"&gt;&lt;/span&gt;
&lt;span class="icon-bar"&gt;&lt;/span&gt;
&lt;/button&gt;
&lt;a class="navbar-brand" href="#"&gt;Shopping Cart - ItOffside.com&lt;/a&gt;
&lt;/div&gt;
&lt;div class="navbar-collapse collapse"&gt;
&lt;ul class="nav navbar-nav"&gt;
&lt;li class="active"&gt;&lt;a href="index.php"&gt;หน้าแรกสินค้า&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="cart.php"&gt;ตะกร้าสินค้าของฉัน &lt;span class="badge"&gt;&lt;?php echo $meQty; ?&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;!--/.nav-collapse --&gt;
&lt;/div&gt;&lt;!--/.container-fluid --&gt;
&lt;/div&gt;
&lt;h3&gt;ตะกร้าสินค้าของฉัน&lt;/h3&gt;
&lt;!-- Main component for a primary marketing message or call to action --&gt;
&lt;?php
if ($action == 'removed')
{
echo "&lt;div class=\"alert alert-warning\"&gt;ลบสินค้าเรียบร้อยแล้ว&lt;/div&gt;";
}

if ($meCount == 0)
{
echo "&lt;div class=\"alert alert-warning\"&gt;ไม่มีสินค้าอยู่ในตะกร้า&lt;/div&gt;";
} else
{
?&gt;
&lt;form action="updatecart.php" method="post" name="fromupdate"&gt;
&lt;table class="table table-striped table-bordered"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;รหัสสินค้า&lt;/th&gt;
&lt;th&gt;ชื่อสินค้า&lt;/th&gt;
&lt;th&gt;รายละเอียด&lt;/th&gt;
&lt;th&gt;จำนวน&lt;/th&gt;
&lt;th&gt;ราคาต่อหน่วย&lt;/th&gt;
&lt;th&gt;จำนวนเงิน&lt;/th&gt;
&lt;th&gt;&amp;nbsp;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;?php
$total_price = 0;
$num = 0;
while ($meResult = mysql_fetch_assoc($meQuery))
{
$key = array_search($meResult['id'], $_SESSION['cart']);
$total_price = $total_price + ($meResult['product_price'] * $_SESSION['qty'][$key]);
?&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="images/&lt;?php echo $meResult['product_img_name']; ?&gt;" border="0"&gt;&lt;/td&gt;
&lt;td&gt;&lt;?php echo $meResult['product_code']; ?&gt;&lt;/td&gt;
&lt;td&gt;&lt;?php echo $meResult['product_name']; ?&gt;&lt;/td&gt;
&lt;td&gt;&lt;?php echo $meResult['product_desc']; ?&gt;&lt;/td&gt;
&lt;td&gt;
&lt;input type="text" name="qty[&lt;?php echo $num; ?&gt;]" value="&lt;?php echo $_SESSION['qty'][$key]; ?&gt;" class="form-control" style="width: 60px;text-align: center;"&gt;
&lt;input type="hidden" name="arr_key_&lt;?php echo $num; ?&gt;" value="&lt;?php echo $key; ?&gt;"&gt;
&lt;/td&gt;
&lt;td&gt;&lt;?php echo number_format($meResult['product_price'],2); ?&gt;&lt;/td&gt;
&lt;td&gt;&lt;?php echo number_format(($meResult['product_price'] * $_SESSION['qty'][$key]),2); ?&gt;&lt;/td&gt;
&lt;td&gt;
&lt;a class="btn btn-danger btn-lg" href="removecart.php?itemId=&lt;?php echo $meResult['id']; ?&gt;" role="button"&gt;
&lt;span class="glyphicon glyphicon-trash"&gt;&lt;/span&gt;
ลบทิ้ง&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;?php
$num++;
}
?&gt;
&lt;tr&gt;
&lt;td colspan="8" style="text-align: right;"&gt;
&lt;h4&gt;จำนวนเงินรวมทั้งหมด &lt;?php echo number_format($total_price,2); ?&gt; บาท&lt;/h4&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="8" style="text-align: right;"&gt;
&lt;button type="submit" class="btn btn-info btn-lg"&gt;คำนวณราคาสินค้าใหม่&lt;/button&gt;
&lt;a href="order.php" type="button" class="btn btn-primary btn-lg"&gt;สังซื้อสินค้า&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/form&gt;
&lt;?php
}
?&gt;

&lt;/div&gt; &lt;!-- /container --&gt;

&lt;!-- jQuery (necessary for Bootstrap's JavaScript plugins) --&gt;
&lt;script src="bootstrap/js/jquery.min.js"&gt;&lt;/script&gt;
&lt;!-- Include all compiled plugins (below), or include individual files as needed --&gt;
&lt;script src="bootstrap/js/bootstrap.min.js"&gt;&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;?php
mysql_close();
?&gt;&lt;/pre&gt;
5. สร้างไฟล์ updatecart.php แล้วนำ code ด้านล่างนี้ไปใส่ ซึ่งการทำงานของไฟล์นี้คือ เมื่อมีการคลิกปุ่ม "หยิบใส่ตะกร้า" ในหน้า index.php และปุ่ม "คำนวณสินค้าใหม่" ในหน้า cart.php ไฟล์นี้จะถูกทำงานทันที เพื่อบันทึกข้อมูล id สินค้า(ใช้ในการอ้างอิงในการดึงข้อมูลจากฐานขัอมูล) หรือเพิ่มจำนวนสินค้าลงในตะกร้า ลงในตัวแปร session
&lt;pre class="lang:php decode:true" title="updatecart.php"&gt;&lt;?php

session_start();
$itemId = isset($_GET['itemId']) ? $_GET['itemId'] : "";
if ($_POST)
{
for ($i = 0; $i &lt; count($_POST['qty']); $i++)
{
$key = $_POST['arr_key_' . $i];
$_SESSION['qty'][$key] = $_POST['qty'][$i];
header('location:cart.php');
}
} else
{
if (!isset($_SESSION['cart']))
{
$_SESSION['cart'] = array();
$_SESSION['qty'][] = array();
}

if (in_array($itemId, $_SESSION['cart']))
{
$key = array_search($itemId, $_SESSION['cart']);
$_SESSION['qty'][$key] = $_SESSION['qty'][$key] + 1;
header('location:index.php?a=exists');
} else
{
array_push($_SESSION['cart'], $itemId);
$key = array_search($itemId, $_SESSION['cart']);
$_SESSION['qty'][$key] = 1;
header('location:index.php?a=add');
}
}
?&gt;</pre><p>ผลลัพธ์</p>
<figure id="attachment_211" aria-describedby="caption-attachment-211" style="width: 586px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-211" src="https://www.itoffside.com/wp-content/uploads/2014/04/shopping-cart-02.jpg" alt="ตัวอย่างระบบ Shopping cart" width="586" height="313" srcset="https://www.itoffside.com/wp-content/uploads/2014/04/shopping-cart-02.jpg 586w, https://www.itoffside.com/wp-content/uploads/2014/04/shopping-cart-02-300x160.jpg 300w" sizes="auto, (max-width: 586px) 100vw, 586px" /><figcaption id="caption-attachment-211" class="wp-caption-text">ตัวอย่างระบบ Shopping cart</figcaption></figure>
<p>&nbsp;</p>
<p>6. สร้างไฟล์ removecart.php แล้วนำ code ด้านล่างไปใส่ สำหรับการทำงานไฟล์นี้จะเป็นการลบรายการสินค้าในตะกร้าออกไปจากตัวแปร? session โดยจะลบทิ้งเฉพาะ id ที่เลือกไว้เท่านั้น</p><pre class="crayon-plain-tag">&lt;?php
session_start();

$itemId = isset($_GET['itemId']) ? $_GET['itemId'] : "";

if (!isset($_SESSION['cart']))
{
$_SESSION['cart'] = array();
$_SESSION['qty'][] = array();
}

$key = array_search($itemId, $_SESSION['cart']);
$_SESSION['qty'][$key] = "";

$_SESSION['cart'] = array_diff($_SESSION['cart'], array($itemId));
header('location:cart.php?a=remove');
?&gt;&lt;/pre&gt;
7. สร้างไฟล์ order.php แล้วนำ code ด้านล่างไปใส่ โดยการทำงานของไฟล์นี้จะแสดงผลรายการที่ต้องการยืนยันสั่งซื้อพร้อมจำนวนและราคาสินค้าที่ไม่สามารถแก้ไขได้(แตกต่างจาก cart.php ที่สามารถแก้ไขได้)
&lt;pre class="lang:php decode:true" title="order.php"&gt;&lt;?php
session_start();
require 'connect.php';

$action = isset($_GET['a']) ? $_GET['a'] : "";
$itemCount = isset($_SESSION['cart']) ? count($_SESSION['cart']) : 0;
$_SESSION['formid'] = sha1('itoffside.com' . microtime());
if (isset($_SESSION['qty'])) {
$meQty = 0;
foreach ($_SESSION['qty'] as $meItem) {
$meQty = $meQty + $meItem;
}
} else {
$meQty = 0;
}
if (isset($_SESSION['cart']) and $itemCount &gt; 0) {
$itemIds = "";
foreach ($_SESSION['cart'] as $itemId) {
$itemIds = $itemIds . $itemId . ",";
}
$inputItems = rtrim($itemIds, ",");
$meSql = "SELECT * FROM products WHERE id in ({$inputItems})";
$meQuery = mysql_query($meSql);
$meCount = mysql_num_rows($meQuery);
} else {
$meCount = 0;
}
?&gt;
&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
&lt;meta charset="utf-8"&gt;
&lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt;
&lt;title&gt;itoffside.com shopping cart&lt;/title&gt;

&lt;!-- Bootstrap --&gt;
&lt;link href="bootstrap/css/bootstrap.min.css" rel="stylesheet"&gt;
&lt;link href="bootstrap/css/nava.css" rel="stylesheet"&gt;

&lt;!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --&gt;
&lt;!-- WARNING: Respond.js doesn't work if you view the page via file:// --&gt;
&lt;!--[if lt IE 9]&gt;
&lt;script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"&gt;&lt;/script&gt;
&lt;script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"&gt;&lt;/script&gt;
&lt;![endif]--&gt;
&lt;script type="text/javascript"&gt;
function updateSubmit(){
if(document.formupdate.order_fullname.value == ""){
alert('โปรดใส่ชื่อนามสกุลด้วย!');
document.formupdate.order_fullname.focus();
return false;
}
if(document.formupdate.order_address.value == ""){
alert('โปรดใส่ที่อยู่ด้วย!');
document.formupdate.order_address.focus();
return false;
}
if(document.formupdate.order_phone.value == ""){
alert('โปรดใส่เบอร์โทรด้วย!');
document.formupdate.order_phone.focus();
return false;
}
document.formupdate.submit();
return false;
}
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class="container"&gt;

&lt;!-- Static navbar --&gt;
&lt;div class="navbar navbar-default" role="navigation"&gt;
&lt;div class="container-fluid"&gt;
&lt;div class="navbar-header"&gt;
&lt;button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"&gt;
&lt;span class="sr-only"&gt;Toggle navigation&lt;/span&gt;
&lt;span class="icon-bar"&gt;&lt;/span&gt;
&lt;span class="icon-bar"&gt;&lt;/span&gt;
&lt;span class="icon-bar"&gt;&lt;/span&gt;
&lt;/button&gt;
&lt;a class="navbar-brand" href="#"&gt;Shopping Cart - ItOffside.com&lt;/a&gt;
&lt;/div&gt;
&lt;div class="navbar-collapse collapse"&gt;
&lt;ul class="nav navbar-nav"&gt;
&lt;li class="active"&gt;&lt;a href="index.php"&gt;หน้าแรกสินค้า&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="cart.php"&gt;ตะกร้าสินค้าของฉัน &lt;span class="badge"&gt;&lt;?php echo $meQty; ?&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;!--/.nav-collapse --&gt;
&lt;/div&gt;&lt;!--/.container-fluid --&gt;
&lt;/div&gt;
&lt;h3&gt;รายการสั่งซื้อ&lt;/h3&gt;
&lt;!-- Main component for a primary marketing message or call to action --&gt;
&lt;?php
if ($action == 'removed')
{
echo "&lt;div class=\"alert alert-warning\"&gt;ลบสินค้าเรียบร้อยแล้ว&lt;/div&gt;";
}

if ($meCount == 0)
{
echo "&lt;div class=\"alert alert-warning\"&gt;ไม่มีสินค้าอยู่ในตะกร้า&lt;/div&gt;";
} else
{
?&gt;

&lt;form action="updateorder.php" method="post" name="formupdate" role="form" id="formupdate" onsubmit="JavaScript:return updateSubmit();"&gt;
&lt;div class="form-group"&gt;
&lt;label for="exampleInputEmail1"&gt;ชื่อ-นามสกุล&lt;/label&gt;
&lt;input type="text" class="form-control" id="order_fullname" placeholder="ใส่ชื่อนามสกุล" style="width: 300px;" name="order_fullname"&gt;
&lt;/div&gt;
&lt;div class="form-group"&gt;
&lt;label for="exampleInputAddress"&gt;ที่อยู่&lt;/label&gt;
&lt;textarea class="form-control" rows="3" style="width: 500px;" name="order_address" id="order_address"&gt;&lt;/textarea&gt;
&lt;/div&gt;
&lt;div class="form-group"&gt;
&lt;label for="exampleInputPhone"&gt;เบอร์โทรศัพท์&lt;/label&gt;
&lt;input type="text" class="form-control" id="order_phone" placeholder="ใส่เบอร์โทรศัพท์ที่สามารถติดต่อได้" style="width: 300px;" name="order_phone"&gt;
&lt;/div&gt;
&lt;table class="table table-striped table-bordered"&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;รหัสสินค้า&lt;/th&gt;
&lt;th&gt;ชื่อสินค้า&lt;/th&gt;
&lt;th&gt;รายละเอียด&lt;/th&gt;
&lt;th&gt;จำนวน&lt;/th&gt;
&lt;th&gt;ราคาต่อหน่วย&lt;/th&gt;
&lt;th&gt;จำนวนเงิน&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;?php
$total_price = 0;
$num = 0;
while ($meResult = mysql_fetch_assoc($meQuery))
{
$key = array_search($meResult['id'], $_SESSION['cart']);
$total_price = $total_price + ($meResult['product_price'] * $_SESSION['qty'][$key]);
?&gt;
&lt;tr&gt;
&lt;td&gt;&lt;?php echo $meResult['product_code']; ?&gt;&lt;/td&gt;
&lt;td&gt;&lt;?php echo $meResult['product_name']; ?&gt;&lt;/td&gt;
&lt;td&gt;&lt;?php echo $meResult['product_desc']; ?&gt;&lt;/td&gt;
&lt;td&gt;
&lt;?php echo $_SESSION['qty'][$key]; ?&gt;
&lt;input type="hidden" name="qty[]" value="&lt;?php echo $_SESSION['qty'][$key]; ?&gt;" /&gt;
&lt;input type="hidden" name="product_id[]" value="&lt;?php echo $meResult['id']; ?&gt;" /&gt;
&lt;input type="hidden" name="product_price[]" value="&lt;?php echo $meResult['product_price']; ?&gt;" /&gt;
&lt;/td&gt;
&lt;td&gt;&lt;?php echo number_format($meResult['product_price'], 2); ?&gt;&lt;/td&gt;
&lt;td&gt;&lt;?php echo number_format(($meResult['product_price'] * $_SESSION['qty'][$key]), 2); ?&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;?php
$num++;
}
?&gt;
&lt;tr&gt;
&lt;td colspan="8" style="text-align: right;"&gt;
&lt;h4&gt;จำนวนเงินรวมทั้งหมด &lt;?php echo number_format($total_price, 2); ?&gt; บาท&lt;/h4&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="8" style="text-align: right;"&gt;
&lt;input type="hidden" name="formid" value="&lt;?php echo $_SESSION['formid']; ?&gt;"/&gt;
&lt;a href="cart.php" type="button" class="btn btn-danger btn-lg"&gt;ย้อนกลับ&lt;/a&gt;
&lt;button type="submit" class="btn btn-primary btn-lg"&gt;บันทึกการสั่งซื้อสินค้า&lt;/button&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/form&gt;
&lt;?php
}
?&gt;

&lt;/div&gt; &lt;!-- /container --&gt;

&lt;!-- jQuery (necessary for Bootstrap's JavaScript plugins) --&gt;
&lt;script src="bootstrap/js/jquery.min.js"&gt;&lt;/script&gt;
&lt;!-- Include all compiled plugins (below), or include individual files as needed --&gt;
&lt;script src="bootstrap/js/bootstrap.min.js"&gt;&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;?php
mysql_close();
?&gt;</pre><p>ผลลัพธ์</p>
<figure id="attachment_215" aria-describedby="caption-attachment-215" style="width: 586px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="size-full wp-image-215" src="https://www.itoffside.com/wp-content/uploads/2014/04/shopping-cart-03.jpg" alt="ตัวอย่างระบบ Shopping cart" width="586" height="350" srcset="https://www.itoffside.com/wp-content/uploads/2014/04/shopping-cart-03.jpg 586w, https://www.itoffside.com/wp-content/uploads/2014/04/shopping-cart-03-300x179.jpg 300w" sizes="auto, (max-width: 586px) 100vw, 586px" /><figcaption id="caption-attachment-215" class="wp-caption-text">ตัวอย่างระบบ Shopping cart</figcaption></figure>
<p>&nbsp;</p>
<p>8. สร้างไฟล์ updateorder.php แล้วนำ code ด้านล่างนี้ไปใส่ จากตัวอย่าง code การทำงานของ code นี้คือจะบันทึกข้อมูลการสั่งซื้อสินค้าและผู้สั่งซื้อสินค้าจากฟอร์ม order.php ทันทีเมื่อมีการคลิกปุ่ม &#8220;บันทึกการสั่งซื้อสินค้า&#8221;</p><pre class="crayon-plain-tag">&lt;?php
session_start();
$formid = isset($_SESSION['formid']) ? $_SESSION['formid'] : "";
if ($formid != $_POST['formid']) {
	echo "E00001!! SESSION ERROR RETRY AGAINT.";
} else {
	unset($_SESSION['formid']);
	if ($_POST) {
		require 'connect.php';
		$order_fullname = mysql_real_escape_string($_POST['order_fullname']);
		$order_address = mysql_real_escape_string($_POST['order_address']);
		$order_phone = mysql_real_escape_string($_POST['order_phone']);
$meSql = "INSERT INTO orders (order_date, order_fullname, order_address, order_phone) VALUES (NOW(),'{$order_fullname}','{$order_address}','{$order_phone}') ";
$meQeury = mysql_query($meSql);
if ($meQeury) {
$order_id = mysql_insert_id();
for ($i = 0; $i &lt; count($_POST['qty']); $i++) {
$order_detail_quantity = mysql_real_escape_string($_POST['qty'][$i]);
$order_detail_price = mysql_real_escape_string($_POST['product_price'][$i]);
$product_id = mysql_real_escape_string($_POST['product_id'][$i]);
$lineSql = "INSERT INTO order_details (order_detail_quantity, order_detail_price, product_id, order_id) ";
$lineSql .= "VALUES (";
$lineSql .= "'{$order_detail_quantity}',";
$lineSql .= "'{$order_detail_price}',";
$lineSql .= "'{$product_id}',";
$lineSql .= "'{$order_id}'";
$lineSql .= ") ";
mysql_query($lineSql);
}
mysql_close();
unset($_SESSION['cart']);
unset($_SESSION['qty']);
header('location:index.php?a=order');
}else{
mysql_close();
header('location:index.php?a=orderfail');
}
}
}
?&gt;</pre><p>เสร็จแล้วสำหรับระบบตะกร้าสั่งซื้อสินค้าโดยใช้ฟังก์ชั่น Session และ Array แบบง่ายๆผู้อ่านสามารถดาวน์โหลด Source Code ได้ที่ลิงค์ด้านล่างนี้เลยครับ</p>
<p>[sociallocker]</p>
<p>&lt;a title=&#8221;ดาวน์โหลดระบบตะกร้าสั่งซื้อสินค้า&#8221; href=&#8221;http://www.mediafire.com/download/heagbrrad3fricl/shopping_cart.rar&#8221; target=&#8221;_blank&#8221; rel=&#8221;noopener noreferrer&#8221;&gt;ดาวน์โหลดไฟล์ระบบตะกร้าสั่งซื้อสินค้า!&lt;/a&gt;รหัสแตกไฟล์ rar = www.itoffside.com</p>
<p>[/sociallocker]</p><p>The post <a href="https://www.itoffside.com/php-workshop-shopping-cart/">PHP Workshop ระบบตะกร้าสั่งซื้อสินค้า (Shopping Cart)</a> first appeared on <a href="https://www.itoffside.com">itOffside.com | บทความการเขียนโปรแกรม เรื่องราวข้อมูลเทคโนโลยี</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.itoffside.com/php-workshop-shopping-cart/feed/</wfw:commentRss>
			<slash:comments>258</slash:comments>
		
		
			</item>
	</channel>
</rss>
