<?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>การเขียนโปรแกรม, เทคโนโลยี</title>
	<atom:link href="https://www.itoffside.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.itoffside.com</link>
	<description>ข้อมูลข่าวสารและเรื่องราวบนโลกของไอทีที่ ล้ำหน้า พร้อมสาระการเขียนโปรแกรมคอมพิวเตอร์</description>
	<lastBuildDate>Tue, 04 Nov 2025 08:05:31 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://www.itoffside.com/wp-content/uploads/2020/04/cropped-favicon-96x96-1-32x32.png</url>
	<title>การเขียนโปรแกรม, เทคโนโลยี</title>
	<link>https://www.itoffside.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>สอนใช้ GitHub Copilot สร้างเกมส์ JavaScript ง่ายๆ ใน 10 นาที (ดูคลิป)</title>
		<link>https://www.itoffside.com/github-copilot-create-game-vscode/</link>
					<comments>https://www.itoffside.com/github-copilot-create-game-vscode/#respond</comments>
		
		<dc:creator><![CDATA[Onmobile]]></dc:creator>
		<pubDate>Tue, 04 Nov 2025 08:03:29 +0000</pubDate>
				<category><![CDATA[AI & Machine Learning]]></category>
		<category><![CDATA[AI เขียนโค้ด]]></category>
		<category><![CDATA[github copilot]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[vibe coding]]></category>
		<category><![CDATA[Visual Studio Code]]></category>
		<category><![CDATA[vscode]]></category>
		<category><![CDATA[สอนเขียนโปรแกรม]]></category>
		<guid isPermaLink="false">https://www.itoffside.com/?p=3651</guid>

					<description><![CDATA[<p>เคยอยากสร้างเกมส์ของตัวเองแต่รู้สึกว่าการเขียนโค้ด Logic เกมเป็นเรื่องยากไหม? ในยุคนี้ AI เข้ามามีบทบาทอย่างมากในการช่วยโปรแกรมเมอร์ทำงาน และหนึ่งในเครื่องมือที่กำลังมาแรงที่สุดก็คือ GitHub Copilot ที่ทำงานร่วมกับ VSCode ได้อย่างชาญฉลาด วันนี้ เรามีคลิปวิดีโอสุดพิเศษที่จะมา &#8220;สอนใช้ GitHub Copilot สร้างเกมส์&#8221; JavaScript ง่ายๆ (ในคลิปคือเกมยิงดาวเคราะห์น้อย) โดยใช้เวลาเพียง 10 นาทีเท่านั้น! มาดูกันว่า AI จะช่วยเราเขียนโค้ดได้เร็วและแม่นยำแค่ไหนครับ GitHub Copilot คืออะไร? ทำไมโปรแกรมเมอร์ยุคนี้ต้องใช้? ก่อนจะไปดูคลิป เรามาทำความรู้จักกันสั้นๆ ครับ GitHub Copilot คือ AI...</p>
<p>The post <a href="https://www.itoffside.com/github-copilot-create-game-vscode/">สอนใช้ GitHub Copilot สร้างเกมส์ JavaScript ง่ายๆ ใน 10 นาที (ดูคลิป)</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>เคยอยากสร้างเกมส์ของตัวเองแต่รู้สึกว่าการเขียนโค้ด Logic เกมเป็นเรื่องยากไหม? ในยุคนี้ AI เข้ามามีบทบาทอย่างมากในการช่วยโปรแกรมเมอร์ทำงาน และหนึ่งในเครื่องมือที่กำลังมาแรงที่สุดก็คือ <strong>GitHub Copilot</strong> ที่ทำงานร่วมกับ VSCode ได้อย่างชาญฉลาด</p>
<p>วันนี้ เรามีคลิปวิดีโอสุดพิเศษที่จะมา &#8220;สอนใช้ GitHub Copilot สร้างเกมส์&#8221; JavaScript ง่ายๆ (ในคลิปคือเกมยิงดาวเคราะห์น้อย) โดยใช้เวลาเพียง 10 นาทีเท่านั้น! มาดูกันว่า AI จะช่วยเราเขียนโค้ดได้เร็วและแม่นยำแค่ไหนครับ<span id="more-3651"></span></p>
<h2>GitHub Copilot คืออะไร? ทำไมโปรแกรมเมอร์ยุคนี้ต้องใช้?</h2>
<p>ก่อนจะไปดูคลิป เรามาทำความรู้จักกันสั้นๆ ครับ <strong>GitHub Copilot</strong> คือ AI Pair Programmer (เพื่อนคู่หูโปรแกรมเมอร์ที่เป็น AI) ที่พัฒนาโดย GitHub และ OpenAI มันสามารถวิเคราะห์บริบทของโค้ดที่เรากำลังเขียน หรือแม้กระทั่ง &#8220;คอมเมนต์&#8221; ที่เราพิมพ์บอกความต้องการ (เช่น &#8220;สร้างฟังก์ชันเกมยิงกระสุน&#8221;) แล้วมันจะแนะนำโค้ดทั้งฟังก์ชันให้เราทันที ช่วยลดเวลาในการค้นหา Syntax และช่วยให้เราโฟกัสกับ Logic ที่ซับซ้อนได้มากขึ้น</p>
<h2>ดูคลิป: สอนใช้ AI (GitHub Copilot) สร้างเกมส์ใน 10 นาที</h2>
<p>ในวิดีโอนี้ คุณจะได้เห็นขั้นตอนการใช้ GitHub Copilot ใน VSCode เพื่อสร้างเกมยิงบนเว็บเบราว์เซอร์ตั้งแต่เริ่มต้น (ไฟล์เปล่า) จนกลายเป็นเกมที่เล่นได้จริง โดยเราจะสั่งการ AI ด้วยการพิมพ์ Prompt (คำสั่ง) เป็นภาษาไทยและอังกฤษง่ายๆ ครับ</p>
<p>&nbsp;</p>
<p><iframe title="สอนใช้ Ai GitHub Copilot (vscode) สร้างเกมส์ง่ายๆ ใน 10 นาที!" width="660" height="371" src="https://www.youtube.com/embed/ECrMeIPA9Hc?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>
<h2>สิ่งที่คุณจะได้เรียนรู้จากคลิปนี้</h2>
<p>เพื่อความสะดวกในการรับชม ผมได้แบ่งเนื้อหาสำคัญในวิดีโอไว้ให้แล้ว สามารถคลิกข้ามไปดูส่วนที่สนใจได้เลยครับ:</p>
<ul>
<li><strong><a href="https://www.youtube.com/watch?v=ECrMeIPA9Hc&amp;t=1s" target="_blank" rel="noopener">[00:00:01]</a></strong> &#8211; Intro (แนะนำวิดีโอ)</li>
<li><strong><a href="https://www.youtube.com/watch?v=ECrMeIPA9Hc&amp;t=45s" target="_blank" rel="noopener">[00:00:45]</a></strong> &#8211; GitHub Copilot คืออะไร? (อธิบายการใช้งานเบื้องต้น, โหมดต่างๆ)</li>
<li><strong><a href="https://www.youtube.com/watch?v=ECrMeIPA9Hc&amp;t=12s" target="_blank" rel="noopener">[00:00:12]</a></strong> &#8211; วิธีติดตั้ง Extension ใน VSCode</li>
<li><strong><a href="https://www.youtube.com/watch?v=ECrMeIPA9Hc&amp;t=190s" target="_blank" rel="noopener">[00:03:10]</a></strong> &#8211; เริ่มโปรเจกต์ (ตั้งค่าโฟลเดอร์และอธิบายเกม)</li>
<li><strong><a href="https://www.youtube.com/watch?v=ECrMeIPA9Hc&amp;t=292s" target="_blank" rel="noopener">[00:04:52]</a></strong> &#8211; เริ่มสั่งงาน Copilot สร้างโครงสร้าง HTML/Canvas</li>
<li><strong><a href="https://www.youtube.com/watch?v=ECrMeIPA9Hc&amp;t=679s" target="_blank" rel="noopener">[00:11:19]</a></strong> &#8211; แก้ไขโค้ดที่ AI สร้าง และทดสอบเกม</li>
<li><strong><a href="https://www.youtube.com/watch?v=ECrMeIPA9Hc&amp;t=1139s" target="_blank" rel="noopener">[00:18:59]</a></strong> &#8211; สรุปข้อดี-ข้อเสีย และการทำงานร่วมกับ AI</li>
</ul>
<h2>สรุป: AI คือ &#8220;ผู้ช่วย&#8221; ไม่ใช่ &#8220;ผู้แทนที่&#8221;</h2>
<p>จากในวิดีโอจะเห็นว่า แม้ GitHub Copilot จะสร้างโค้ดส่วนใหญ่ให้เราได้ แต่ก็ยังมีบางจุดที่เราต้องเข้าไปแก้ไข ปรับปรุง หรือ &#8220;จูน&#8221; โค้ดเอง (เช่น การปรับค่าพลังชีวิต, ความเร็วกระสุน) แสดงให้เห็นว่า AI ในปัจจุบันยังทำหน้าที่เป็น &#8220;ผู้ช่วย&#8221; (Copilot) ที่ทรงพลัง มากกว่าที่จะมา &#8220;แทนที่&#8221; (Pilot) โปรแกรมเมอร์ครับ</p>
<p>หากคุณเป็นโปรแกรมเมอร์ที่ใช้ VSCode อยู่แล้ว การลองใช้ GitHub Copilot จะช่วยเปิดโลกและเพิ่มความเร็วในการพัฒนาโปรเจกต์ของคุณได้อย่างแน่นอนครับ</p><p>The post <a href="https://www.itoffside.com/github-copilot-create-game-vscode/">สอนใช้ GitHub Copilot สร้างเกมส์ JavaScript ง่ายๆ ใน 10 นาที (ดูคลิป)</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.itoffside.com/github-copilot-create-game-vscode/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PHP Workshop มาสร้าง PDF ง่ายๆ ด้วย mPDF กัน</title>
		<link>https://www.itoffside.com/php-workshop-pdf-by-mpdf/</link>
					<comments>https://www.itoffside.com/php-workshop-pdf-by-mpdf/#respond</comments>
		
		<dc:creator><![CDATA[Onmobile]]></dc:creator>
		<pubDate>Thu, 01 May 2025 00:19:01 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[mpdf]]></category>
		<category><![CDATA[mpdf ภาษาไทย]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php 8]]></category>
		<category><![CDATA[php workshop]]></category>
		<category><![CDATA[php7]]></category>
		<category><![CDATA[สร้าง PDF]]></category>
		<category><![CDATA[เอกสาร PDF]]></category>
		<category><![CDATA[ใบกำกับภาษี]]></category>
		<category><![CDATA[ใบเสร็จ]]></category>
		<guid isPermaLink="false">https://www.itoffside.com/?p=3641</guid>

					<description><![CDATA[<p>มาเรียนรู้การสร้างเอกสาร PDF สวยๆ ด้วย PHP และ mPDF กัน! มีตัวอย่างใบกำกับภาษี/ใบเสร็จรับเงิน เคยไหมกับการต้องปวดหัวกับการจัดการเอกสารสำคัญ? ไม่ว่าจะเป็นรายงาน, ใบเสนอราคา, หรือแม้แต่ใบกำกับภาษีที่ดูไม่สวยงามเอาเสียเลย&#8230; ถ้าคุณกำลังมองหาวิธีที่จะทำให้งานเหล่านี้ง่ายขึ้น แถมยังดูเป็นมืออาชีพสุดๆ แล้วล่ะก็ ขอบอกเลยว่าห้ามพลาดวิดีโอ ในวิดีโอนี้ จะพาไปเจาะลึกการใช้ mPDF ไลบรารี PHP สุดเจ๋ง ที่จะช่วยให้การสร้างเอกสาร PDF ของคุณง่ายเหมือนปอกกล้วยเข้าปาก แถมยังปรับแต่งได้สารพัดอย่าง ไม่ว่าจะเป็นหน้าตา, รูปภาพ, ตาราง หรือฟอนต์สวยๆ ที่ถูกใจ เพียงแค่รู้ html, css และ php เท่านั้น...</p>
<p>The post <a href="https://www.itoffside.com/php-workshop-pdf-by-mpdf/">PHP Workshop มาสร้าง PDF ง่ายๆ ด้วย mPDF กัน</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>มาเรียนรู้การสร้างเอกสาร PDF สวยๆ ด้วย PHP และ mPDF กัน! มีตัวอย่างใบกำกับภาษี/ใบเสร็จรับเงิน</strong><br />
เคยไหมกับการต้องปวดหัวกับการจัดการเอกสารสำคัญ? ไม่ว่าจะเป็นรายงาน, ใบเสนอราคา, หรือแม้แต่ใบกำกับภาษีที่ดูไม่สวยงามเอาเสียเลย&#8230; ถ้าคุณกำลังมองหาวิธีที่จะทำให้งานเหล่านี้ง่ายขึ้น แถมยังดูเป็นมืออาชีพสุดๆ แล้วล่ะก็ ขอบอกเลยว่าห้ามพลาดวิดีโอ<span id="more-3641"></span></p>
<p><iframe title="PHP Workshop สร้าง PDF ด้วย mPDF (ตัวอย่างใบกำกับภาษี/ใบเสร็จรับเงิน)" width="660" height="371" src="https://www.youtube.com/embed/IgKs-u3VYtg?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>
<p>ในวิดีโอนี้ จะพาไปเจาะลึกการใช้ mPDF ไลบรารี PHP สุดเจ๋ง ที่จะช่วยให้การสร้างเอกสาร PDF ของคุณง่ายเหมือนปอกกล้วยเข้าปาก แถมยังปรับแต่งได้สารพัดอย่าง ไม่ว่าจะเป็นหน้าตา, รูปภาพ, ตาราง หรือฟอนต์สวยๆ ที่ถูกใจ เพียงแค่รู้ html, css และ php เท่านั้น</p>
<h2>ทำไมใครๆ ก็หลงรัก mPDF?</h2>
<ul>
<li><b>ง่ายจนเหลือเชื่อ:</b> ไม่ต้องเขียนโค้ดให้ซับซ้อนวุ่นวาย mPDF มีฟังก์ชันที่ช่วยให้คุณสร้าง PDF ได้แบบสบายๆ</li>
<li><b>อยากได้แบบไหน? จัดให้!:</b> จะปรับสี, ใส่โลโก้, ออกแบบตารางเก๋ๆ หรือจะใส่ฟอนต์ไทยสวยๆ ก็ทำได้หมด</li>
<li><b>เพื่อนคู่คิดของนักพัฒนา:</b> เป็นไลบรารี Open Source ที่ใช้งานได้ฟรี แถมยังมีเพื่อนๆ นักพัฒนาคอยช่วยเหลือเพียบ</li>
</ul>
<h2>ในวิดีโอ สอนอะไรบ้าง?</h2>
<ul>
<li>เริ่มตั้งแต่ศูนย์: พาติดตั้ง mPDF แบบ Step-by-Step</li>
<li>สร้าง PDF ใบกำกับภาษี/ใบเสร็จรับเงิน ง่ายๆ สไตล์มือโปร</li>
<li><strong>mPDF สร้างให้รองรับภาษาไทย</strong></li>
<li>เติมสีสันให้เอกสาร: ใส่ข้อความ, รูปภาพ, และตารางแบบเนียนๆ</li>
<li>จัดระเบียบทุกหน้า: กำหนดหน้า, ใส่หัวกระดาษ, ท้ายกระดาษ ให้ดูดีมีสไตล์</li>
<li><strong>พิเศษ</strong>! <strong>ตัวอย่างการสร้างใบกำกับภาษีและใบเสร็จรับเงิน</strong>แบบเข้าใจง่าย</li>
</ul>
<h2>ใครควรมาดูบ้าง?</h2>
<ul>
<li>เหล่านักพัฒนา PHP ที่อยากยกระดับงานเอกสารของตัวเอง</li>
<li>ใครก็ตามที่อยากสร้างเอกสาร PDF ที่ดูดี มีมาตรฐาน</li>
<li>มือใหม่หัดเขียนโค้ด PHP ก็ดูได้</li>
</ul>
<h2>ตัวอย่างผลงาน mPDF</h2>
<figure id="attachment_3643" aria-describedby="caption-attachment-3643" style="width: 789px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" class="wp-image-3643 size-full" src="https://www.itoffside.com/wp-content/uploads/2025/05/Screenshot-2025-05-01-064448.png" alt="PHP Workshop สร้าง PDF ด้วย mPDF" width="789" height="843" srcset="https://www.itoffside.com/wp-content/uploads/2025/05/Screenshot-2025-05-01-064448.png 789w, https://www.itoffside.com/wp-content/uploads/2025/05/Screenshot-2025-05-01-064448-281x300.png 281w, https://www.itoffside.com/wp-content/uploads/2025/05/Screenshot-2025-05-01-064448-768x821.png 768w, https://www.itoffside.com/wp-content/uploads/2025/05/Screenshot-2025-05-01-064448-80x85.png 80w" sizes="(max-width: 789px) 100vw, 789px" /><figcaption id="caption-attachment-3643" class="wp-caption-text">PHP Workshop สร้าง PDF ด้วย mPDF</figcaption></figure><p>The post <a href="https://www.itoffside.com/php-workshop-pdf-by-mpdf/">PHP Workshop มาสร้าง PDF ง่ายๆ ด้วย mPDF กัน</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.itoffside.com/php-workshop-pdf-by-mpdf/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>แจกฟรี! ระบบบัญชี PHP พร้อมพิมพ์ใบกำกับภาษี &#038; ใบสั่งซื้อ รองรับทุกธุรกิจ</title>
		<link>https://www.itoffside.com/free-accounting-system-php-invoice-purchase-order/</link>
					<comments>https://www.itoffside.com/free-accounting-system-php-invoice-purchase-order/#comments</comments>
		
		<dc:creator><![CDATA[Onmobile]]></dc:creator>
		<pubDate>Tue, 22 Apr 2025 15:13:27 +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 login]]></category>
		<category><![CDATA[php workshop]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[php7]]></category>
		<category><![CDATA[phpexcel]]></category>
		<category><![CDATA[PhpSpreadsheet]]></category>
		<category><![CDATA[ระบบบัญชี php]]></category>
		<category><![CDATA[ใบกำกับภาษี php]]></category>
		<category><![CDATA[ใบสั่งซื้อ php]]></category>
		<guid isPermaLink="false">https://www.itoffside.com/?p=3633</guid>

					<description><![CDATA[<p>ในยุคออนไลน์ที่ทุกอย่างต้องการความรวดเร็ว **ระบบบัญชี PHP** ที่มีฟังก์ชันครบถ้วนสำหรับการ พิมพ์ใบกำกับภาษี, ใบเสร็จรับเงิน และ ใบสั่งซื้อ ถือเป็นเครื่องมือที่จำเป็นสำหรับธุรกิจทุกประเภท ไม่ว่าจะเป็นร้านค้าออนไลน์ บริษัท หรือองค์กรที่ต้องการจัดการเอกสารทางบัญชีได้อย่างสะดวก วันนี้เรามีระบบจัดการบัญชีที่ใช้งานง่าย พร้อมแจกให้ดาวน์โหลดฟรี! ฟีเจอร์เด่นของระบบบัญชี PHP บันทึกใบกำกับภาษี &#38; ใบเสร็จรับเงิน – รองรับการพิมพ์ใบกำกับภาษีแบบเต็มรูปแบบ พร้อมฟอร์มที่ถูกต้องตามมาตรฐาน พิมพ์ใบสั่งซื้อ – ระบบพิมพ์ใบสั่งซื้อที่ช่วยให้การจัดการคำสั่งซื้อเป็นไปอย่างมีประสิทธิภาพ พร้อมฟอร์มที่ถูกต้องตามมาตรฐาน จัดการข้อมูลสินค้า – เพิ่ม/แก้ไขข้อมูลสินค้า จัดการข้อมูลลูกค้า – บันทึกและจัดเก็บข้อมูลลูกค้าอย่างเป็นระบบ จัดการข้อมูลผู้จำหน่าย – บริหารจัดการข้อมูลซัพพลายเออร์ได้ง่ายดาย การตั้งค่าระบบเต็มรูปแบบ – ปรับแต่งการทำงานของระบบตามความต้องการของธุรกิจคุณ...</p>
<p>The post <a href="https://www.itoffside.com/free-accounting-system-php-invoice-purchase-order/">แจกฟรี! ระบบบัญชี PHP พร้อมพิมพ์ใบกำกับภาษี & ใบสั่งซื้อ รองรับทุกธุรกิจ</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>ในยุคออนไลน์ที่ทุกอย่างต้องการความรวดเร็ว <em><strong><span style="color: #ff00ff;">**ระบบบัญชี PHP**</span></strong></em> ที่มีฟังก์ชันครบถ้วนสำหรับการ <strong>พิมพ์ใบกำกับภาษี</strong>, <strong>ใบเสร็จรับเงิน</strong> และ <strong>ใบสั่งซื้อ</strong> ถือเป็นเครื่องมือที่จำเป็นสำหรับธุรกิจทุกประเภท ไม่ว่าจะเป็นร้านค้าออนไลน์ บริษัท หรือองค์กรที่ต้องการจัดการเอกสารทางบัญชีได้อย่างสะดวก วันนี้เรามีระบบจัดการบัญชีที่ใช้งานง่าย พร้อมแจกให้ดาวน์โหลดฟรี!<span id="more-3633"></span></p>
<p><!-- Features Section --></p>
<h2>ฟีเจอร์เด่นของระบบบัญชี PHP</h2>
<ul>
<li><strong>บันทึกใบกำกับภาษี &amp; ใบเสร็จรับเงิน</strong> – รองรับการพิมพ์ใบกำกับภาษีแบบเต็มรูปแบบ พร้อมฟอร์มที่ถูกต้องตามมาตรฐาน</li>
<li><strong>พิมพ์ใบสั่งซื้อ</strong> – ระบบพิมพ์ใบสั่งซื้อที่ช่วยให้การจัดการคำสั่งซื้อเป็นไปอย่างมีประสิทธิภาพ พร้อมฟอร์มที่ถูกต้องตามมาตรฐาน</li>
<li><strong>จัดการข้อมูลสินค้า</strong> – เพิ่ม/แก้ไขข้อมูลสินค้า</li>
<li><strong>จัดการข้อมูลลูกค้า</strong> – บันทึกและจัดเก็บข้อมูลลูกค้าอย่างเป็นระบบ</li>
<li><strong>จัดการข้อมูลผู้จำหน่าย</strong> – บริหารจัดการข้อมูลซัพพลายเออร์ได้ง่ายดาย</li>
<li><strong>การตั้งค่าระบบเต็มรูปแบบ</strong> – ปรับแต่งการทำงานของระบบตามความต้องการของธุรกิจคุณ</li>
</ul>
<p><a class="ngg-simplelightbox" title=" " href="https://www.itoffside.com/wp-content/gallery/eaccount/eaccount-10.png" rel="" data-image-id="64" data-src="https://www.itoffside.com/wp-content/gallery/eaccount/eaccount-10.png" data-thumbnail="https://www.itoffside.com/wp-content/gallery/eaccount/thumbs/thumbs_eaccount-10.png" data-title="eaccount-10" data-description=" "><img decoding="async" class="ngg-singlepic ngg-none" src="https://www.itoffside.com/wp-content/gallery/eaccount/eaccount-10.png" alt="eaccount-10"></a></p>
<p><!-- SEO Keywords --></p>
<h2>ระบบบัญชี PHP ที่รองรับการพิมพ์ใบกำกับภาษี &amp; ใบสั่งซื้อ</h2>
<p>ระบบนี้ได้รับการออกแบบให้ใช้งานง่าย รองรับทุกฟังก์ชันสำคัญ ทั้งการ <strong>พิมพ์ใบกำกับภาษี PHP</strong>, <strong>พิมพ์ใบสั่งซื้อ PHP</strong>, <strong>ระบบขาย/ซื้อ PHP</strong> ซึ่งช่วยให้การดำเนินธุรกิจเป็นไปอย่างคล่องตัว</p>
<p><!-- Call to Action --></p>
<h2>ดาวน์โหลดฟรี – ติดตั้งง่าย พร้อมใช้งาน!</h2>
<p>หากคุณกำลังมองหา <strong>ระบบบัญชี PHP</strong> ที่สามารถ <strong>พิมพ์ใบกำกับภาษี PHP</strong> และ <strong>พิมพ์ใบสั่งซื้อ PHP</strong> ได้ครบถ้วน นี่คือโอกาสที่คุณไม่ควรพลาด! คลิกที่ลิงก์ด้านล่างเพื่อดาวน์โหลดระบบและเริ่มใช้งานได้ทันที</p>
<p><a href="https://drive.google.com/file/d/1Om9QG8V0L0vj97mJBjLE34aOP99_o-dj/view?usp=sharing" target="_blank" rel="nofollow noopener">ดาวน์โหลดระบบบัญชีฟรีที่นี่</a></p>
<p><!-- Closing Statement --></p>
<h2>⚙️ วิธีติดตั้งระบบบัญชี PHP พร้อมพิมพ์ใบกำกับภาษี &amp; ใบสั่งซื้อ</h2>
<p>การติดตั้ง <strong>ระบบบัญชี PHP</strong> นี้ง่ายและรวดเร็ว เพียงทำตามขั้นตอนต่อไปนี้ คุณจะสามารถเริ่มใช้งานระบบได้ทันที!</p>
<h3>ขั้นตอนการติดตั้ง</h3>
<ol>
<li><strong>ดาวน์โหลดไฟล์ระบบ</strong>: คลิกที่ลิงก์ด้านล่างเพื่อดาวน์โหลดซอร์สโค้ดระบบบัญชี <a href="https://drive.google.com/file/d/1Om9QG8V0L0vj97mJBjLE34aOP99_o-dj/view?usp=sharing" target="_blank" rel="nofollow noopener">ดาวน์โหลดระบบบัญชีฟรีที่นี่</a></li>
<li><strong>แตกไฟล์ ZIP</strong>: หลังจากดาวน์โหลดเสร็จ ให้แตกไฟล์ ZIP และนำไปวางไว้ในเซิร์ฟเวอร์ของคุณ ตัวอย่างไว้ใน c:/xampp/htdocs/eaccount-lite</li>
<li><strong>ตั้งค่าฐานข้อมูล MySQL</strong>:
<ul>
<li>สร้างฐานข้อมูลใหม่ใน MySQL (แนะนำใช้ phpMyAdmin) ชื่อฐานข้อมูล <strong>eaccount_lite</strong></li>
<li>Import sql นำเข้าตารางฐานข้อมูลจากไฟล์ <code>eaccount_lite.sql</code></li>
<li>ตั้งค่าการเชื่อมต่อฐานข้อมูลและตั้ง URL ในไฟล์ <code>config.php</code></li>
</ul>
</li>
<li><strong>ตั้งค่าเซิร์ฟเวอร์</strong>: ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์รองรับ PHP version 8 ขึ้นไป และ MySQL เวอร์ชันล่าสุด</li>
<li><strong>ทดสอบการใช้งาน</strong>: เปิดเบราว์เซอร์แล้วไปที่ URL ของเซิร์ฟเวอร์เพื่อล็อกอินเข้าสู่ระบบ</li>
</ol>
<h3>คำแนะนำเพิ่มเติม</h3>
<ul>
<li>ควรตั้งค่าสิทธิ์ไฟล์และโฟลเดอร์ให้เหมาะสม (CHMOD 755 หรือ 777) เพื่อให้สามารถอัปโหลดไฟล์เอกสารได้</li>
<li>ตรวจสอบว่ามีการเปิดใช้งานโมดูล <strong>mysqli</strong> ในเซิร์ฟเวอร์ของคุณ</li>
<li>หากพบข้อผิดพลาดในการติดตั้ง สามารถติดต่อทีมพัฒนาเพื่อรับคำแนะนำเพิ่มเติม</li>
</ul>
<h2>ดาวน์โหลดและเริ่มใช้งานเลย!</h2>
<p>ระบบนี้รองรับทุกฟังก์ชันสำคัญ เช่น <strong>พิมพ์ใบกำกับภาษี PHP</strong>, <strong>พิมพ์ใบสั่งซื้อ PHP</strong>, <strong>ระบบขาย/ซื้อ PHP</strong> และสามารถปรับแต่งเพิ่มเติมได้ตามความต้องการ รีบดาวน์โหลดและเริ่มใช้งานเพื่อเพิ่มประสิทธิภาพในการจัดการบัญชีของคุณ</p>
<p>หวังว่าระบบนี้จะช่วยให้การจัดการบัญชีและเอกสารของคุณเป็นเรื่องง่ายขึ้น! หากมีข้อสงสัยเกี่ยวกับการติดตั้งหรือการใช้งาน สามารถสอบถามเพิ่มเติมได้เลย</p><p>The post <a href="https://www.itoffside.com/free-accounting-system-php-invoice-purchase-order/">แจกฟรี! ระบบบัญชี PHP พร้อมพิมพ์ใบกำกับภาษี & ใบสั่งซื้อ รองรับทุกธุรกิจ</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.itoffside.com/free-accounting-system-php-invoice-purchase-order/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>แจกระบบเอกสาร PHP &#038; MySQL &#124; ดาวน์โหลดฟรี พร้อมวิธีติดตั้ง</title>
		<link>https://www.itoffside.com/edocument-php-mysql-sourcecode/</link>
					<comments>https://www.itoffside.com/edocument-php-mysql-sourcecode/#comments</comments>
		
		<dc:creator><![CDATA[Onmobile]]></dc:creator>
		<pubDate>Thu, 03 Apr 2025 00:27:03 +0000</pubDate>
				<category><![CDATA[jquery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[edocument]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[MySQLi]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php 8]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[php7]]></category>
		<category><![CDATA[ระบบเอกสาร]]></category>
		<guid isPermaLink="false">https://www.itoffside.com/?p=3600</guid>

					<description><![CDATA[<p>หากคุณกำลังมองหา ระบบเอกสารออนไลน์ที่พัฒนาด้วย PHP และ MySQL ที่ช่วยให้การจัดเก็บและบริหารจัดการไฟล์เป็นเรื่องง่าย โค๊ดสคริปต์นี้จะช่วยให้คุณเข้าใจการทำงานของระบบ พร้อมลิงก์ดาวน์โหลดฟรี! ระบบเอกสาร PHP &#38; MySQL คืออะไร? ระบบเอกสารออนไลน์ (E-Document System) เป็นระบบโปรแกรมที่ช่วยให้คุณสามารถ จัดเก็บไฟล์เอกสาร ค้นหา การเข้าถึงได้อย่างสะดวก เหมาะสำหรับองค์กร บริษัท หรือบุคคลทั่วไปที่ต้องการเครื่องมือช่วยจัดการเอกสาร &#160; ✨ คุณสมบัติเด่นของระบบ ✔ อัปโหลดและจัดเก็บเอกสาร รองรับไฟล์หลากหลายประเภท ✔ จัดหมวดหมู่เอกสาร แยกตามประเภทหรือแผนกเพื่อค้นหาง่ายขึ้น ✔ ค้นหาเอกสารได้รวดเร็ว ด้วยระบบค้นหาตามชื่อไฟล์หรือคำสำคัญ ✔ อินเตอร์เฟซใช้งานง่าย ดีไซน์เรียบง่าย...</p>
<p>The post <a href="https://www.itoffside.com/edocument-php-mysql-sourcecode/">แจกระบบเอกสาร PHP & MySQL | ดาวน์โหลดฟรี พร้อมวิธีติดตั้ง</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>หากคุณกำลังมองหา <strong>ระบบเอกสารออนไลน์ที่พัฒนาด้วย PHP และ MySQL</strong> ที่ช่วยให้การจัดเก็บและบริหารจัดการไฟล์เป็นเรื่องง่าย โค๊ดสคริปต์นี้จะช่วยให้คุณเข้าใจการทำงานของระบบ พร้อมลิงก์ดาวน์โหลดฟรี!</p>
<h2><strong> ระบบเอกสาร PHP &amp; MySQL คืออะไร?</strong></h2>
<p>ระบบเอกสารออนไลน์ (E-Document System) เป็นระบบโปรแกรมที่ช่วยให้คุณสามารถ <strong>จัดเก็บไฟล์เอกสาร</strong> ค้นหา การเข้าถึงได้อย่างสะดวก เหมาะสำหรับองค์กร บริษัท หรือบุคคลทั่วไปที่ต้องการเครื่องมือช่วยจัดการเอกสาร</p>
<p><span id="more-3600"></span></p>
<figure id="attachment_3602" aria-describedby="caption-attachment-3602" style="width: 1636px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-3602" src="https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-02.png" alt="edocument php mysql" width="1636" height="775" srcset="https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-02.png 1636w, https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-02-300x142.png 300w, https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-02-1024x485.png 1024w, https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-02-768x364.png 768w, https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-02-1536x728.png 1536w, https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-02-80x38.png 80w" sizes="auto, (max-width: 1636px) 100vw, 1636px" /><figcaption id="caption-attachment-3602" class="wp-caption-text">edocument php mysql</figcaption></figure>
<p>&nbsp;</p>
<figure id="attachment_3601" aria-describedby="caption-attachment-3601" style="width: 551px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class=" wp-image-3601" src="https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-01.png" alt="edocument php mysql" width="551" height="309" srcset="https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-01.png 1651w, https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-01-300x168.png 300w, https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-01-1024x574.png 1024w, https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-01-768x430.png 768w, https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-01-1536x861.png 1536w, https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-01-80x45.png 80w" sizes="auto, (max-width: 551px) 100vw, 551px" /><figcaption id="caption-attachment-3601" class="wp-caption-text">edocument php mysql</figcaption></figure>
<figure id="attachment_3603" aria-describedby="caption-attachment-3603" style="width: 2025px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-3603" src="https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-03.png" alt="edocument php mysql" width="2025" height="1417" srcset="https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-03.png 2025w, https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-03-300x210.png 300w, https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-03-1024x717.png 1024w, https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-03-768x537.png 768w, https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-03-1536x1075.png 1536w, https://www.itoffside.com/wp-content/uploads/2025/04/edocument-php-03-80x56.png 80w" sizes="auto, (max-width: 2025px) 100vw, 2025px" /><figcaption id="caption-attachment-3603" class="wp-caption-text">edocument php mysql</figcaption></figure>
<h2><strong>✨ คุณสมบัติเด่นของระบบ</strong></h2>
<p>✔ <strong>อัปโหลดและจัดเก็บเอกสาร</strong> รองรับไฟล์หลากหลายประเภท<br />
✔ <strong>จัดหมวดหมู่เอกสาร</strong> แยกตามประเภทหรือแผนกเพื่อค้นหาง่ายขึ้น<br />
✔ <strong>ค้นหาเอกสารได้รวดเร็ว</strong> ด้วยระบบค้นหาตามชื่อไฟล์หรือคำสำคัญ<br />
✔ <strong>อินเตอร์เฟซใช้งานง่าย</strong> ดีไซน์เรียบง่าย มือใหม่ก็ใช้งานได้ทันที</p>
<h2><strong> ดาวน์โหลดและติดตั้งระบบเอกสาร</strong></h2>
<p>โครงการนี้ถูกเผยแพร่ผ่าน <strong>GitHub</strong> สามารถดาวน์โหลดได้ที่ <a title="ระบบเอกสาร php" href="https://github.com/ipball/edocument" target="_blank" rel="noopener">https://github.com/ipball/edocument</a></p>
<h3><strong>วิธีติดตั้ง</strong></h3>
<p>1️⃣ ดาวน์โหลดโค้ดจาก GitHub<br />
2️⃣ อัปโหลดลงเซิร์ฟเวอร์ที่รองรับ PHP และ MySQL หรือติดตั้งบนเครื่องโดยใช้ xampp จำลองเซิฟเวอร์แทนได้<br />
3️⃣ สร้างฐานข้อมูลชื่อ document และนำเข้าตารางจากไฟล์ SQL ที่แนบมาชื่อไฟล์ _database.sql ในกรณีผมใช้ phpmyadmin ในการจัดการฐานข้อมูล<br />
4️⃣ ตั้งค่าการเชื่อมต่อฐานข้อมูลใน <code>config.php</code><br />
5️⃣ เริ่มใช้งานระบบเอกสารได้เลย!</p>
<p>เข้าจัดการเอกสาร /admin<br />
ผู้ใช้: todo<br />
รหัสผ่าน: passpass</p>
<h2><strong> ประโยชน์ของระบบเอกสาร</strong></h2>
<p><strong>ทำไมต้องใช้ระบบเอกสารออนไลน์?</strong> นอกจากช่วยจัดการไฟล์ได้ง่ายขึ้นแล้ว ยังช่วยให้ทีมงานสามารถเข้าถึงข้อมูลสำคัญได้ตลอดเวลา ไม่ต้องกังวลเรื่องเอกสารสูญหาย ลดการใช้กระดาษ และเพิ่มประสิทธิภาพการทำงาน</p>
<p>หากคุณกำลังมองหาวิธี <strong>บริหารเอกสารให้มีประสิทธิภาพ</strong> ระบบนี้คือคำตอบ! รองรับการใช้งานหลากหลาย และสามารถปรับแต่งเพิ่มเติมได้ตามความต้องการ</p>
<p>และโปรแกรมแจกฟรี เขียนโดย <strong>PHP&amp;Mysql</strong> ทำให้ไม่ต้องกังวลเรื่องเซิฟเวอร์ราคาแพง เพราะเป็นภาษาไม่เสียค่าลิขสิทธิ์</p><p>The post <a href="https://www.itoffside.com/edocument-php-mysql-sourcecode/">แจกระบบเอกสาร PHP & MySQL | ดาวน์โหลดฟรี พร้อมวิธีติดตั้ง</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.itoffside.com/edocument-php-mysql-sourcecode/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>Dynamic Dropdown หลายชั้นด้วย PHP+Ajax</title>
		<link>https://www.itoffside.com/dynamic-dropdown-%e0%b8%ab%e0%b8%a5%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b1%e0%b9%89%e0%b8%99%e0%b8%94%e0%b9%89%e0%b8%a7%e0%b8%a2-phpajax/</link>
					<comments>https://www.itoffside.com/dynamic-dropdown-%e0%b8%ab%e0%b8%a5%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b1%e0%b9%89%e0%b8%99%e0%b8%94%e0%b9%89%e0%b8%a7%e0%b8%a2-phpajax/#respond</comments>
		
		<dc:creator><![CDATA[Onmobile]]></dc:creator>
		<pubDate>Tue, 04 Mar 2025 06:00:34 +0000</pubDate>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[bootstrap]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[MySQLi]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php 8]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[php7]]></category>
		<guid isPermaLink="false">https://www.itoffside.com/?p=3582</guid>

					<description><![CDATA[<p>สวัสดีครับ วันนี้มานำเสนอการเขียนโปรแกรม แบบ dynamic dropdown คือเมื่อ ทำการเลือก dropdown ชั้นที่ 1 dropdown ชั้นที่ 2 จะถูกดึงข้อมูลตาม id ที่ dropdown ขั้นที่ 1 ยกตัวอย่างเช่น เราเลือกจังหวัด ปทุมธานี(Dropdown 1) แล้ว อำเภอจะแสดงข้อมูลอำเภอเฉพาะที่อยู่ในจังหวัดปทุมธานี(Dropdown 2) แต่ตัวอย่างนี้ มี Dropdown ถึง 3 ชั้นเลย ก็คือ เป็นที่มาของตัวอย่างการเลือก จังหวัด, อำเภอ, ตำบล และ...</p>
<p>The post <a href="https://www.itoffside.com/dynamic-dropdown-%e0%b8%ab%e0%b8%a5%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b1%e0%b9%89%e0%b8%99%e0%b8%94%e0%b9%89%e0%b8%a7%e0%b8%a2-phpajax/">Dynamic Dropdown หลายชั้นด้วย PHP+Ajax</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>สวัสดีครับ วันนี้มานำเสนอการเขียนโปรแกรม แบบ <strong>dynamic dropdown</strong> คือเมื่อ ทำการเลือก <strong>dropdown</strong> ชั้นที่ 1 <strong>dropdown</strong> ชั้นที่ 2 จะถูกดึงข้อมูลตาม id ที่ <strong>dropdown</strong> ขั้นที่ 1 ยกตัวอย่างเช่น เรา<strong>เลือกจังหวัด</strong> ปทุมธานี(Dropdown 1) แล้ว <strong>อำเภอ</strong>จะแสดงข้อมูลอำเภอเฉพาะที่อยู่ในจังหวัดปทุมธานี(<strong>Dropdown</strong> 2) แต่ตัวอย่างนี้ มี <strong>Dropdown</strong> ถึง 3 ชั้นเลย ก็คือ เป็นที่มาของตัวอย่างการ<strong>เลือก จังหวัด, อำเภอ, ตำบล และ รหัสไปรษณีย์</strong> นั้นเอง</p>
<p>โดยวันนี้เราจะใช้ภาษา <strong>PHP และ javascript(jQuery)</strong> ในการทำงานนั้นเอง โดยใช้เทคนิค AJAX ตอนดึงข้อมูลมาใส่ใน dropdown 2, 3 เดี่ยวมาดูกันว่าเขียนอย่างไรบ้างในบทความนี้</p>
<h2>วิธีการเขียน Multiple Dropdown</h2>
<ol>
<li>ทำการ import database ของฐานข้อมูล จังหวัด, อำเภอ, ตำบล ลงในฐานข้อมูลก่อน ดาวน์โหลดได้ที่<br />
<a href="https://github.com/ipball/multiple_dropdown2025/blob/main/multiple_dropdown.sql" target="_blank" rel="noopener">https://github.com/ipball/multiple_dropdown2025/blob/main/multiple_dropdown.sql</a></li>
<li>ทำการสร้างไฟล์ conect.php เพื่อเชื่อมต่อกับฐานข้อมูล</li>
</ol>
<figure id="attachment_3583" aria-describedby="caption-attachment-3583" style="width: 1030px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-3583" src="https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-01.png" alt="multiple dropdown จังหวัด อำเภอ ตำบล รหัสไปรษณีย์" width="1030" height="469" srcset="https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-01.png 1030w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-01-300x137.png 300w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-01-1024x466.png 1024w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-01-768x350.png 768w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-01-80x36.png 80w" sizes="auto, (max-width: 1030px) 100vw, 1030px" /><figcaption id="caption-attachment-3583" class="wp-caption-text">multiple dropdown จังหวัด อำเภอ ตำบล รหัสไปรษณีย์</figcaption></figure>
<p>3. สร้างไฟล์ index.php เพื่อทำหน้าจอ dropdown จังหวัด, อำเภอ, ตำบล และ ช่อง input text รหัสไปรณีย์</p>
<figure id="attachment_3584" aria-describedby="caption-attachment-3584" style="width: 525px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class=" wp-image-3584" src="https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-02.png" alt="multiple dropdown จังหวัด อำเภอ ตำบล รหัสไปรษณีย์" width="525" height="584" srcset="https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-02.png 1686w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-02-270x300.png 270w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-02-922x1024.png 922w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-02-768x853.png 768w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-02-1383x1536.png 1383w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-02-80x89.png 80w" sizes="auto, (max-width: 525px) 100vw, 525px" /><figcaption id="caption-attachment-3584" class="wp-caption-text">multiple dropdown จังหวัด อำเภอ ตำบล รหัสไปรษณีย์</figcaption></figure>
<p><span style="color: #ff00ff;"><strong>อธิบายโค๊ด</strong></span></p>
<p>บรรทัดที่ 2 include ไฟล์เพื่อเชื่อมต่อฐานข้อมูล<br />
บรรทัดที่ 4-10 ดึงข้อมูลจากตารางจังหวัด แล้ววนข้อมูลเก็บใส่ตัวแปร $provinces เพื่อที่จะนำไปวนลูปใน dropdown<br />
บรรทัดที่ 28-35 เป็น dropdown ของจังหวัด นำตัวแปรจาก บรรทัดข้างบนมา วนแสดงผล จังหวัด<br />
บรรทัดที่ 37-52 เป็นฟอร์มของ อำเภอ, ตำบล, รหัสไปรษณีย์ ยังไม่มีค่าใดๆ เพราะต้องรอให้เลือก dropdown จังหวัดก่อน ในส่วนนี้<br />
บรรทัดที่ 56-57 include ไฟล์สำคัญคือ jquery มาใส่งาน, และไฟล์ script.js เป็นไฟล์ที่เราจะเขียนขึ้นเพื่อหาจังหวะตอนเลือกเปลี่ยน ค่า dropdown</p>
<p>4. สร้างไฟล์ script.js เพื่อจับเหตุการ์ณและดึงข้อมูลแสดงผล อำเภอ, ตำบล, รหัสไปรษณีย์</p>
<figure id="attachment_3585" aria-describedby="caption-attachment-3585" style="width: 2206px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-3585" src="https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-03.png" alt="multiple dropdown จังหวัด อำเภอ ตำบล รหัสไปรษณีย์" width="2206" height="1630" srcset="https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-03.png 2206w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-03-300x222.png 300w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-03-1024x757.png 1024w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-03-768x567.png 768w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-03-1536x1135.png 1536w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-03-2048x1513.png 2048w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-03-80x59.png 80w" sizes="auto, (max-width: 2206px) 100vw, 2206px" /><figcaption id="caption-attachment-3585" class="wp-caption-text">multiple dropdown จังหวัด อำเภอ ตำบล รหัสไปรษณีย์</figcaption></figure>
<p><span style="color: #ff00ff;"><strong>อธิบายโค๊ด</strong></span></p>
<p>บรรทัดที่ 2-24 เมื่อมีการเปลี่ยนแปลง dropdown จังหวัด จะทำการ reset ค่าของ อำเภอ, ตำบล, รหัสไปรษณีย์ แล้วทำการดึงข้อมูลอำเภอ ตามจังหวัดที่เลือกใน dropdown นั้น ด้วย jquery AJAX จากไฟล์ get_districts.php (เราจะสร้างทีหลัง) ซึ่งพอเราดึงค่าข้อมูลจากไฟล์ได้แล้วจะได้ข้อมูล รุปแบบ JSON ให้เราทำการวนข้อมูลแล้ว ลูปอำเภอ นำมาใส่ใน element dropdown ของอำเภอ<br />
บรรทัดที่ 26-47 เมื่อเปลี่ยนแปลง dropdown อำเภอ ทำการ reset ค่า ตำบล, รหัสไปรษณีย์ แล้วดึงข้อมูลตำบล ตามอำเภอที่เลือก ด้วย jquery AJAX จากไฟล์ get_subdistricts.php แล้วเอาข้อมูลที่ได้รับเป็น JSON วนลูปใส่ใน dropdown ตำบล<br />
บรรทัดที่ 49-52 เมื่อมีการเปลี่ยนแปลง ตำบล เราจะเอาข้อมูลรหัสไปรษณีย์ที่อยู่ data-postcode มาใส่ในช่องรหัสไปรษณีย์</p>
<p>5. สร้างไฟล์ get_districts.php เพื่อดึงข้อมูลอำเภอตามจังหวัดที่เลือกแล้วส่งข้อมูลออกกลับไปเป็น JSON</p>
<figure id="attachment_3586" aria-describedby="caption-attachment-3586" style="width: 2206px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-3586" src="https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-04.png" alt="multiple dropdown จังหวัด อำเภอ ตำบล รหัสไปรษณีย์" width="2206" height="1630" srcset="https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-04.png 2206w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-04-300x222.png 300w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-04-1024x757.png 1024w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-04-768x567.png 768w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-04-1536x1135.png 1536w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-04-2048x1513.png 2048w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-04-80x59.png 80w" sizes="auto, (max-width: 2206px) 100vw, 2206px" /><figcaption id="caption-attachment-3586" class="wp-caption-text">multiple dropdown จังหวัด อำเภอ ตำบล รหัสไปรษณีย์</figcaption></figure>
<p>6. สร้างไฟล์ get_subdistricts.php เพื่อดึงข้อมูลตำบลตามอำเภอที่เลือกแล้วส่งข้อมูลออกกลับไปเป็น JSON</p>
<figure id="attachment_3587" aria-describedby="caption-attachment-3587" style="width: 826px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-3587" src="https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-05.png" alt="multiple dropdown จังหวัด อำเภอ ตำบล รหัสไปรษณีย์" width="826" height="345" srcset="https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-05.png 826w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-05-300x125.png 300w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-05-768x321.png 768w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-05-80x33.png 80w" sizes="auto, (max-width: 826px) 100vw, 826px" /><figcaption id="caption-attachment-3587" class="wp-caption-text">multiple dropdown จังหวัด อำเภอ ตำบล รหัสไปรษณีย์</figcaption></figure>
<p>เพียงเท่านี้เราก็ได้ Multiple Dropdown List แบบหลายชั้นแล้ว เดี่ยวเราลองมาดูผลลัพท์กัน</p>
<figure id="attachment_3588" aria-describedby="caption-attachment-3588" style="width: 961px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-3588" src="https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-06.png" alt="multiple dropdown จังหวัด อำเภอ ตำบล รหัสไปรษณีย์" width="961" height="778" srcset="https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-06.png 961w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-06-300x243.png 300w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-06-768x622.png 768w, https://www.itoffside.com/wp-content/uploads/2025/03/multiple-dropdown-06-80x65.png 80w" sizes="auto, (max-width: 961px) 100vw, 961px" /><figcaption id="caption-attachment-3588" class="wp-caption-text">multiple dropdown จังหวัด อำเภอ ตำบล รหัสไปรษณีย์</figcaption></figure>
<p>สำหรับ Source code Multiple Dropdown List โดยใช้ PHP, MySQL, Javascript(Jquery) สามารถดาวน์โหลดได้ที่ลิงค์ด้านล่าง<br />
<a href="https://github.com/ipball/multiple_dropdown2025" target="_blank" rel="noopener">ดาวน์โหลด Source Code กดตรงนี้</a></p><p>The post <a href="https://www.itoffside.com/dynamic-dropdown-%e0%b8%ab%e0%b8%a5%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b1%e0%b9%89%e0%b8%99%e0%b8%94%e0%b9%89%e0%b8%a7%e0%b8%a2-phpajax/">Dynamic Dropdown หลายชั้นด้วย PHP+Ajax</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.itoffside.com/dynamic-dropdown-%e0%b8%ab%e0%b8%a5%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b1%e0%b9%89%e0%b8%99%e0%b8%94%e0%b9%89%e0%b8%a7%e0%b8%a2-phpajax/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PHP Workshop Register+Login ระบบสมัครสมาชิก+Login [Full Course] สอนละเอียด ฟรี!</title>
		<link>https://www.itoffside.com/php-workshop-register-login/</link>
					<comments>https://www.itoffside.com/php-workshop-register-login/#respond</comments>
		
		<dc:creator><![CDATA[Onmobile]]></dc:creator>
		<pubDate>Wed, 17 Apr 2024 17:27:57 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[MySQLi]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php 8]]></category>
		<category><![CDATA[php login]]></category>
		<category><![CDATA[php workshop]]></category>
		<category><![CDATA[php7]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[ระบบสมัครสมาชิก]]></category>
		<guid isPermaLink="false">https://www.itoffside.com/?p=3513</guid>

					<description><![CDATA[<p>วิดีโอนี้พาสอนการเขียนโปรแกรมเต็มรูปแบบมีระบบ สมัครสมาชิก เข้าสู่ระบบ ตรวจสอบการเข้าสู่ระบบว่า ได้เข้าสู่ระบบหรือไม่ PHP Workshop ทำระบบ Register + Login สอนละเอียด เต็มระบบ พร้อม Sourcecode นำไปดูเป็นตัวอย่าง วิธีการดาวน์โหลด Source code กดติดตาม ช่อง Youtube ช่องนี้&#160;Youtube Bahtsoft ทักไปที่เพจ https://www.facebook.com/itoffside แจ้งว่า ขอ source code ระบบ Register+Login พร้อม แคปภาพว่า ได้กดติดตามช่อง Youtube แล้ว สิ่งที่ได้รับจากวิดีโอนี้...</p>
<p>The post <a href="https://www.itoffside.com/php-workshop-register-login/">PHP Workshop Register+Login ระบบสมัครสมาชิก+Login [Full Course] สอนละเอียด ฟรี!</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></description>
										<content:encoded><![CDATA[<h2>วิดีโอนี้พาสอนการเขียนโปรแกรมเต็มรูปแบบมีระบบ</h2>
<ol>
<li>สมัครสมาชิก</li>
<li>เข้าสู่ระบบ</li>
<li>ตรวจสอบการเข้าสู่ระบบว่า ได้เข้าสู่ระบบหรือไม่</li>
</ol>
<p><span id="more-3513"></span></p>
<h1>PHP Workshop ทำระบบ Register + Login สอนละเอียด เต็มระบบ</h1>
<h3>พร้อม Sourcecode นำไปดูเป็นตัวอย่าง</h3>
<h3>วิธีการดาวน์โหลด Source code</h3>
<ol>
<li>กดติดตาม ช่อง Youtube ช่องนี้&nbsp;<a title="Youtube" href="https://www.youtube.com/channel/UCzcg3GJMK1gwpEDa24Gfm6A" target="_blank" rel="noopener">Youtube Bahtsoft</a></li>
<li>ทักไปที่เพจ <a href="https://www.facebook.com/itoffside" target="_blank" rel="noopener">https://www.facebook.com/itoffside</a> แจ้งว่า ขอ source code ระบบ Register+Login พร้อม แคปภาพว่า ได้กดติดตามช่อง Youtube แล้ว</li>
</ol>
<h3>สิ่งที่ได้รับจากวิดีโอนี้</h3>
<ol>
<li>การเขียน PHP เชื่อมต่อกับ MySQLi</li>
<li>การเขียน PHP workshop แบบ สมาชิกสามารถ Login, สามารถ Register ได้</li>
<li>การเขียน PHP กับ Session ในการจัดการตรวจสอบการเข้าสู่ระบบ</li>
</ol>
<h3>สารบัญการสอน</h3>
<ol>
<li>สร้างโปรเจ็ค</li>
<li>สร้างฐานข้อมูล</li>
<li>สร้างไฟล์ index.php (โปรไฟล์) ตรวจสอบสิทธิ์การ Login</li>
<li>สร้างหน้า Login</li>
<li>สร้างหน้าสมัครสมาชิก (register)</li>
<li>บันทึกข้อมูลการสมัครสมาชิกลง Database</li>
<li>ทำระบบ Login ตรวจสอบ username/password</li>
<li>ทำหน้าแรก แสดงข้อมูลโปรไฟล์</li>
</ol>
<h3>วิดีโอสอน Full Course ฟรี</h3>
<p><iframe loading="lazy" title="PHP Workshop ทำระบบ Register + Login สอนละเอียด เต็มระบบ [FULL]" width="660" height="371" src="https://www.youtube.com/embed/LjxjrBQuxy0?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><p>The post <a href="https://www.itoffside.com/php-workshop-register-login/">PHP Workshop Register+Login ระบบสมัครสมาชิก+Login [Full Course] สอนละเอียด ฟรี!</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.itoffside.com/php-workshop-register-login/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<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. ระบบสั่งซื้อหลังจากหยิบสินค้าใส่ตะกร้าแล้ว สิ่งที่ได้รับจากวิดีโอนี้ 1. การเขียน PHP เชื่อมต่อกับ MySQLi 2. การเขียน PHP workshop แบบ CRUD [Create, Read, Update Delete] 3. การเขียน PHP...</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">การเขียนโปรแกรม, เทคโนโลยี</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 loading="lazy" 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 loading="lazy" 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">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.itoffside.com/php-workshop-shoppingcart/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Laravel &#8211; EP13 Database กับการใช้งาน Eloquent</title>
		<link>https://www.itoffside.com/laravel-ep13-database-eloquent/</link>
					<comments>https://www.itoffside.com/laravel-ep13-database-eloquent/#respond</comments>
		
		<dc:creator><![CDATA[Onmobile]]></dc:creator>
		<pubDate>Thu, 12 Jan 2023 14:34:19 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Eloquent]]></category>
		<category><![CDATA[Eloquent-database]]></category>
		<category><![CDATA[laravel-Eloquent]]></category>
		<category><![CDATA[laravel-Eloquent-database]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[php 8]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[php7]]></category>
		<guid isPermaLink="false">https://www.itoffside.com/?p=2909</guid>

					<description><![CDATA[<p>Laravel ใช้ Eloquent ORM เป็นตัวช่วยในการเชื่อมต่อฐานข้อมูล โดย Eloquent จะมีการแปลงข้อมูลในฐานข้อมูลเป็นออบเจกต์ (Object) บนภาษา PHP ซึ่งช่วยให้นักพัฒนาสามารถเขียนโค้ดที่เชื่อมต่อฐานข้อมูลแบบง่ายขึ้น โดยไม่ต้องเขียน SQL เอง เพื่อใช้งาน Eloquent คุณสามารถสร้างคลาสที่สืบทอดจากคลาส Eloquent และปรับปรุงข้อมูลตามความต้องการ คลาสนี้จะเรียกว่า &#8220;Model&#8221; ซึ่งจะเป็นตัวแทนของตารางในฐานข้อมูลนั่นเอง หากต้องการสร้าง Model สำหรับตาราง &#8220;users&#8221; ของฐานข้อมูล สามารถสร้างไฟล์ &#8220;User.php&#8221; ภายในโฟลเดอร์ &#8220;app/Models&#8221; และสร้างไฟล์ User.php แล้วเขียนคลาสดังนี้ [crayon-6aa5c179ddde7185732688/] หลังจากนั้น ให้ไฟล์ใน...</p>
<p>The post <a href="https://www.itoffside.com/laravel-ep13-database-eloquent/">Laravel – EP13 Database กับการใช้งาน Eloquent</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></description>
										<content:encoded><![CDATA[<p><strong>Laravel ใช้ Eloquent ORM</strong> เป็นตัวช่วยในการเชื่อมต่อฐานข้อมูล โดย <span style="text-decoration: underline;"><strong>Eloquent</strong> </span>จะมีการแปลงข้อมูลในฐานข้อมูลเป็นออบเจกต์ (Object) บนภาษา PHP ซึ่งช่วยให้นักพัฒนาสามารถเขียนโค้ดที่เชื่อมต่อฐานข้อมูลแบบง่ายขึ้น โดยไม่ต้องเขียน SQL เอง</p>
<p>เพื่อใช้งาน <span style="text-decoration: underline;">Eloquent</span> คุณสามารถสร้างคลาสที่สืบทอดจากคลาส <span style="text-decoration: underline;">Eloquent</span> และปรับปรุงข้อมูลตามความต้องการ คลาสนี้จะเรียกว่า &#8220;<strong><span style="text-decoration: underline;">Model</span></strong>&#8221; ซึ่งจะเป็นตัวแทนของตารางในฐานข้อมูลนั่นเอง<span id="more-2909"></span></p>
<p>หากต้องการสร้าง Model สำหรับตาราง &#8220;users&#8221; ของฐานข้อมูล สามารถสร้างไฟล์ &#8220;User.php&#8221; ภายในโฟลเดอร์ &#8220;<span style="color: #3366ff;">app/Models</span>&#8221; และสร้างไฟล์ User.php แล้วเขียนคลาสดังนี้</p><pre class="crayon-plain-tag">&lt;?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    //
}</pre><p>หลังจากนั้น ให้ไฟล์ใน Controller สามารถเรียกใช้งาน Eloquent เพื่อดึงข้อมูลจากตาราง &#8220;users&#8221; ของฐานข้อมูลได้ดังนี้</p><pre class="crayon-plain-tag">&lt;?php

namespace App\Http\Controllers;

use App\Models\User;
use Illuminate\Http\Request;

class UserController extends Controller
{
    public function index()
    {
        $users = User::all();
        return view('users.index', compact('users'));
    }
}</pre><p>จากตัวอย่างข้างต้น สามารถใช้งานฟังก์ชัน all เพื่อดึงข้อมูลทั้งหมดจากตาราง &#8220;users&#8221; และนำข้อมูลทั้งหมดนั้นไปแสดงผลบนหน้าจอผ่านทางเทมเพลท (view) ไฟล์<span style="color: #3366ff;"> resources/views/users/index.blade.php</span></p>
<p>น่าจะเป็นสิ่งที่มีประโยชน์มากสำหรับนักพัฒนาเว็บแอพพลิเคชัน เพราะมันช่วยให้สร้างโค้ดที่ลดข้อผิดพลาดลง โดยไม่ต้องเขียนคำส่ง SQL ของฐานข้อมูลขึ้นมาเอง นอกจากนี้ Eloquent ยังมีการสนับสนุนการใช้งานฟังก์ชันการค้นหาและการเรียงลำดับข้อมูล ทำให้คุณสามารถสร้างโค้ดที่มีประสิทธิภาพสูงขึ้นได้อีกด้วย</p>
<p>นอกจากนี้ Eloquent ยังมีการสนับสนุนการทำงานร่วมกับความสัมพันธ์ของข้อมูลระหว่างตารางต่าง ๆ หรือเรียกว่า Relation ซึ่งช่วยให้สามารถสร้างโค้ดที่สามารถเข้าถึงข้อมูลที่เกี่ยวข้องกันได้ง่ายขึ้น ตัวอย่างเช่น หากตาราง &#8220;users&#8221; มีความสัมพันธ์กับตาราง &#8220;orders&#8221; ซึ่งเป็น 1-N ดังนั้นสามารถสร้างฟังก์ชันที่เรียกว่า &#8220;orders&#8221; ใน Model ของ &#8220;User&#8221; เพื่อเข้าถึงข้อมูลการสั่งซื้อของผู้ใช้นั้นๆ ดังนี้ โดยให้เข้าไปแก้ไข code ที่ไฟล์ <span style="color: #3366ff;">app\Models\User.php</span></p><pre class="crayon-plain-tag">&lt;?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    public function orders()
    {
        return $this-&gt;hasMany(Order::class);
    }
}</pre><p>จากตัวอย่างข้างต้น สามารถเรียกใช้งานฟังก์ชัน orders เพื่อเข้าถึงข้อมูลการสั่งซื้อของผู้ใช้นั้นๆ ได้ดังนี้ ใน Controller</p><pre class="crayon-plain-tag">$user = User::find(1);
$orders = $user-&gt;orders;</pre><p>Eloquent ยังมีการสนับสนุนการทำงานร่วมกับความสัมพันธ์ของข้อมูลอื่น ๆ เช่น ความสัมพันธ์ 1-1, N-1 และ N-N เพื่ออธิบายความสัมพันธ์นี้ในรูปแบบของคลาส สามารถใช้คำสั่งต่าง ๆ ของ Eloquent เพื่อสร้างความสัมพันธ์นี้ได้ ตัวอย่างเช่น การสร้างความสัมพันธ์ 1-1 ระหว่าง Model ของ &#8220;User&#8221; กับ Model ของ &#8220;Profile&#8221; คุณ สามารถเขียนโค้ดดังนี้ ที่ไฟล์ <span style="color: #3366ff;">app\Models\User.php</span></p><pre class="crayon-plain-tag">&lt;?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    public function profile()
    {
        return $this-&gt;hasOne(Profile::class);
    }
}</pre><p>จากตัวอย่างข้างต้น สามารถเรียกใช้งานฟังก์ชัน profile เพื่อเข้าถึงข้อมูลของโปรไฟล์ของผู้ใช้นั้นๆ ได้ดังนี้ใน <strong>Controller</strong></p><pre class="crayon-plain-tag">$user = User::find(1);
$profile = $user-&gt;profile;</pre><p>Eloquent ยังสามารถช่วยให้คุณสร้างความสัมพันธ์ของข้อมูลแบบ N-N ได้ ด้วยการใช้คำสั่ง belongsToMany แทน ตัวอย่างเช่น การสร้างความสัมพันธ์ N-N ระหว่าง Model ของ &#8220;User&#8221; กับ Model ของ &#8220;Role&#8221; สามารถเขียนโค้ดดังนี้</p><pre class="crayon-plain-tag">&lt;?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    public function roles()
    {
        return $this-&gt;belongsToMany(Role::class);
    }
}</pre><p>จากตัวอย่างข้างต้น สามารถเรียกใช้งานฟังก์ชัน roles เพื่อเข้าถึงข้อมูลของบทบาทของผู้ใช้นั้นๆ ได้ดังนี้ ใน <strong>Controller</strong></p><pre class="crayon-plain-tag">$user = User::find(1);
$roles = $user-&gt;roles;</pre><p></p><pre class="crayon-plain-tag">$user = User::find(1);
$roles = $user-&gt;roles;</pre><p>นอกจากนี้ ยังสามารถเรียกใช้งานฟังก์ชันต่าง ๆ ของ Eloquent เพื่อจัดการข้อมูลของตารางอื่นๆ ได้อย่าง save, update, delete หรือการเรียกดูข้อมูลแบบกำหนดเงื่อนไขได้ ตัวอย่างเช่น การอัพเดทข้อมูลของผู้ใช้ที่มี ID เท่ากับ 1 สามารถเขียนโค้ดดังนี้</p><pre class="crayon-plain-tag">$user = User::find(1);
$user-&gt;name = 'John';
$user-&gt;save();</pre><p>นอกจากนี้ ยังสามารถเรียกใช้งานคำสั่ง update ของ Eloquent เพื่ออัพเดทข้อมูลทีละหลายฟิลด์พร้อมๆ กันได้ เช่น</p><pre class="crayon-plain-tag">User::where('id', 1)-&gt;update([
    'name' =&gt; 'John',
    'email' =&gt; 'john@example.com',
]);</pre><p>นอกจากนี้ยังสามารถเรียกใช้งานคำสั่ง delete ของ Eloquent เพื่อลบข้อมูลทีละหลายแถวพร้อมๆ กันได้ เช่น</p><pre class="crayon-plain-tag">User::where('id', '&gt;', 1)-&gt;delete();</pre><p>เพื่อที่จะเข้าถึงข้อมูลแบบกำหนดเงื่อนไข สามารถใช้ฟังก์ชัน where ของ Eloquent ซึ่งจะสร้างคำสั่ง WHERE ของ SQL สำหรับการค้นหาข้อมูลได้ ตัวอย่างเช่น การเรียกดูข้อมูลของผู้ใช้ที่มีอีเมลล์ลงทะเบียนเป็น &#8220;john@example.com&#8221; สามารถเขียนโค้ดดังนี้</p><pre class="crayon-plain-tag">$users = User::where('email', 'john@example.com')-&gt;get();</pre><p>สามารถปรับปรุงฟังก์ชัน where เพิ่มเติมโดยฟังก์ชันอื่น ๆ เช่น orWhere หรือ whereIn ซึ่งจะช่วยค้นหาข้อมูลตามเงื่อนไขที่กำหนดเพิ่มเติม ตัวอย่างเช่น การเรียกดูข้อมูลของผู้ใช้ที่มีอีเมลล์ลงทะเบียนเป็น &#8220;john@example.com&#8221; หรือ &#8220;jane@example.com&#8221; สามารถเขียนโค้ดดังนี้</p><pre class="crayon-plain-tag">$users = User::where('email', 'john@example.com')
    -&gt;orWhere('email', 'jane@example.com')
    -&gt;get();</pre><p>นอกจากนี้ ยังสามารถใช้ฟังก์ชัน whereIn เพื่อค้นหาข้อมูลของผู้ใช้ที่มีอีเมลล์ลงทะเบียนอยู่ในรายการที่กำหนด ตัวอย่างเช่น การเรียกดูข้อมูลของผู้ใช้ที่มีอีเมลล์ลงทะเบียนเป็น &#8220;john@example.com&#8221; หรือ &#8220;jane@example.com&#8221; สามารถเขียนโค้ดดังนี้</p><pre class="crayon-plain-tag">$users = User::whereIn('email', ['john@example.com', 'jane@example.com'])-&gt;get();</pre><p>Eloquent ยังมีฟังก์ชันอื่น ๆ ที่สามารถใช้งานเพื่อค้นหาข้อมูลแบบกำหนดเงื่อนไขได้ เช่น whereBetween หรือ whereNotIn สามารถศึกษาเพิ่มเติมได้จากเอกสารของ <strong>Laravel</strong></p>
<p>การใช้งาน <strong>Eloquent</strong> นอกจากทำให้นักพัฒนาสะดวกสบายยังทำให้งานโปรเจ็คต่างๆเสร็จอย่างรวดเร็ว อีกทั้งยัง code ยังเป็นระเบียนและสามารถต่อยอดแก้ไขได้ในอนาคต ผู้เขียนหวังว่าบทความนี้จะเป็นประโยชน์ต่อผู้อ่าน หากมีข้อสงสัยตรงไหนสอบถามใน Comment ได้เลยครับ</p>
<p>ขอบคุณครับ</p><p>The post <a href="https://www.itoffside.com/laravel-ep13-database-eloquent/">Laravel – EP13 Database กับการใช้งาน Eloquent</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.itoffside.com/laravel-ep13-database-eloquent/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>การใช้งาน Bootstrap Datepicker เพื่อแสดงวันที่ปฏิทินให้สวยงาม</title>
		<link>https://www.itoffside.com/bootstrap-datepicker-calendar/</link>
					<comments>https://www.itoffside.com/bootstrap-datepicker-calendar/#respond</comments>
		
		<dc:creator><![CDATA[Onmobile]]></dc:creator>
		<pubDate>Thu, 29 Dec 2022 18:31:32 +0000</pubDate>
				<category><![CDATA[bootstrap]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[bootstrap-datepicker]]></category>
		<guid isPermaLink="false">https://www.itoffside.com/?p=3412</guid>

					<description><![CDATA[<p>Bootstrap Datepicker Plugin Bootstrap datepicker เป็น plugin ที่ใช้สำหรับการเลือกวันที่ในแบบฟอร์มของเว็บไซต์ ซึ่งใช้งานได้ง่าย และสามารถปรับแต่งตามความต้องการได้หลากหลาย ในการเรียกใช้งาน Bootstrap datepicker คุณจะต้องมีการติดตั้ง Bootstrap และ datepicker ก่อน ซึ่งคุณสามารถดาวน์โหลดไฟล์ตัวอย่างของ Bootstrap จากเว็บไซต์ของ Bootstrap หรือเรียกใช้งานโดยใช้ CDN ส่วน datepicker สามารถดาวน์โหลดจากเว็บไซต์ของ Bootstrap Datepicker แล้วเพิ่มไฟล์ที่ต้องการเข้าสู่โปรเจคของคุณ เช่น ไฟล์ CSS สำหรับรูปแบบ และไฟล์ JavaScript สำหรับการทำงานของ datepicker...</p>
<p>The post <a href="https://www.itoffside.com/bootstrap-datepicker-calendar/">การใช้งาน Bootstrap Datepicker เพื่อแสดงวันที่ปฏิทินให้สวยงาม</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></description>
										<content:encoded><![CDATA[<h2>Bootstrap Datepicker Plugin</h2>
<p><strong>Bootstrap datepicker</strong> เป็น plugin ที่ใช้สำหรับการเลือกวันที่ในแบบฟอร์มของเว็บไซต์ ซึ่งใช้งานได้ง่าย และสามารถปรับแต่งตามความต้องการได้หลากหลาย</p>
<p>ในการเรียกใช้งาน Bootstrap datepicker คุณจะต้องมีการติดตั้ง Bootstrap และ datepicker ก่อน ซึ่งคุณสามารถดาวน์โหลดไฟล์ตัวอย่างของ Bootstrap จากเว็บไซต์ของ Bootstrap หรือเรียกใช้งานโดยใช้ CDN ส่วน datepicker สามารถดาวน์โหลดจากเว็บไซต์ของ Bootstrap Datepicker แล้วเพิ่มไฟล์ที่ต้องการเข้าสู่โปรเจคของคุณ เช่น ไฟล์ CSS สำหรับรูปแบบ และไฟล์ JavaScript สำหรับการทำงานของ datepicker</p>
<p><span id="more-3412"></span></p>
<p>หลังจากนั้น คุณสามารถเริ่มการเขียนโค้ดเพื่อเรียกใช้งาน datepicker โดยการเพิ่มปุ่มหรือฟิลด์ข้อมูลวันที่ลงในแบบฟอร์ม และกำหนดค่าต่างๆ</p>
<p>หลังจากนั้นคุณสามารถเขียน JavaScript เพื่อเรียกใช้ datepicker โดยใช้คำสั่ง .datepicker() ซึ่งจะถูกเรียกใช้กับอิลิเมนต์ที่กำหนดไว้ เช่น ปุ่มหรือฟิลด์ข้อมูลวันที่ ตัวอย่างการเขียน JavaScript ดังนี้:</p><pre class="crayon-plain-tag">$(document).ready(function() {
  $('#date').datepicker();
});</pre><p>ในตัวอย่างนี้ คำสั่ง .datepicker() จะถูกเรียกใช้กับอิลิเมนต์ที่มี ID ชื่อ &#8220;date&#8221; คำสั่ง .ready&nbsp;จะทำหน้าที่เรียกใช้งาน datepicker เมื่อหน้าเว็บโหลดเสร็จสมบูรณ์</p>
<p>นอกจากนี้คุณยังสามารถกำหนดค่าต่างๆ เพื่อปรับแต่ง datepicker ได้ เช่น รูปแบบของวันที่ที่จะแสดง ช่วงของวันที ที่สามารถเลือกได้ และฟังก์ชันการเลือกวันที่ เช่น การเลือกวันที่เมื่อคลิกปุ่ม หรือการแสดงข้อความแจ้งเตือนเมื่อวันที่ถูกเลือก ซึ่งคุณสามารถกำหนดค่านี้โดยการใช้คำสั่ง .datepicker() พร้อมกับอาร์กิวเมนต์ของค่าที่ต้องการกำหนด ตัวอย่างการกำหนดค่าต่างๆ ดังนี้</p><pre class="crayon-plain-tag">$(document).ready(function() {
  $('#date').datepicker({
    format: 'dd/mm/yyyy',
    startDate: '01/01/2010',
    endDate: '31/12/2022',
    todayBtn: 'linked',
    todayHighlight: true,
    autoclose: true
  });
});</pre><p><span style="text-decoration: underline;"><strong>คำอธิบายในตัวอย่างนี้</strong></span><br />
<span style="color: #ff6600;">format: &#8216;dd/mm/yyyy&#8217;</span> คือ กำหนดรูปแบบของวันที่เป็น &#8216;dd/mm/yyyy&#8217;<br />
<span style="color: #ff6600;">startDate: &#8217;01/01/2010&#8242;, endDate: &#8217;31/12/2022&#8242;</span> คือ กำหนดช่วงของวันที่ที่สามารถเลือกได้ จากวันที่ 1 มกราคม 2010 ถึง 31 ธันวาคม 2022<br />
<span style="color: #ff6600;">todayBtn: &#8216;linked&#8217;</span> คือ กำหนดปุ่ม &#8220;Today&#8221; เมื่อคลิกแล้วให้กรอกวันที่ปัจจุบันให้ในช่อง input<br />
<span style="color: #ff6600;">todayHighlight: true</span> คือ กำหนดสีไฮไลท์วันที่ปัจจุบัน<br />
<span style="color: #ff6600;">autoclose: true</span>&nbsp;คือ กำหนดให้ datepicker ปิดอัตโนมัติเมื่อเลือกวันที่แล้ว</p>
<h3>ลองมาดูตัวอย่าง code Bootstrap Datepicker แบบเต็มๆกันครับ</h3>
<p><strong><span style="color: #ff00ff;">HTML:</span></strong></p><pre class="crayon-plain-tag">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"&gt;
  &lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.css"&gt;
  &lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"&gt;&lt;/script&gt;
  &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;form&gt;
    &lt;div class="form-group"&gt;
      &lt;label for="datepicker"&gt;เลือกวันที่:&lt;/label&gt;
      &lt;input type="text" class="form-control" id="date"&gt;
    &lt;/div&gt;
  &lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;</pre><p><span style="color: #ff00ff;"><strong>JavaScript:</strong></span></p><pre class="crayon-plain-tag">$(document).ready(function() {
  $('#date').datepicker({
    format: 'mm/dd/yyyy',
    startDate: '01/01/2010',
    endDate: '12/31/2020',
    todayBtn: 'linked',
    todayHighlight: true,
    autoclose: true
  });
});</pre><p><strong>ผลลัพท์ของ bootstrap datepicker</strong></p>
<figure id="attachment_3413" aria-describedby="caption-attachment-3413" style="width: 466px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-3413" src="https://www.itoffside.com/wp-content/uploads/2022/12/bootstrap-datepicker.jpg" alt="bootstrap datepicker" width="466" height="331" srcset="https://www.itoffside.com/wp-content/uploads/2022/12/bootstrap-datepicker.jpg 466w, https://www.itoffside.com/wp-content/uploads/2022/12/bootstrap-datepicker-300x213.jpg 300w, https://www.itoffside.com/wp-content/uploads/2022/12/bootstrap-datepicker-80x57.jpg 80w" sizes="auto, (max-width: 466px) 100vw, 466px" /><figcaption id="caption-attachment-3413" class="wp-caption-text">bootstrap datepicker</figcaption></figure>
<p>หากคุณมีข้อสงสัยหรือคำถามสามารถถามได้ในคอมเม้นนี้</p>
<p>ขอบคุณครับ</p><p>The post <a href="https://www.itoffside.com/bootstrap-datepicker-calendar/">การใช้งาน Bootstrap Datepicker เพื่อแสดงวันที่ปฏิทินให้สวยงาม</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.itoffside.com/bootstrap-datepicker-calendar/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Laravel การตรวจสอบข้อมูลก่อนบันทึกด้วย Validation</title>
		<link>https://www.itoffside.com/laravel-validation/</link>
					<comments>https://www.itoffside.com/laravel-validation/#respond</comments>
		
		<dc:creator><![CDATA[Onmobile]]></dc:creator>
		<pubDate>Wed, 03 Aug 2022 08:03:58 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Laravel Validation]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[PHP Framework]]></category>
		<category><![CDATA[Validation]]></category>
		<guid isPermaLink="false">https://www.itoffside.com/?p=3363</guid>

					<description><![CDATA[<p>สวัสดีครับ วันนี้ผมมาแนะนำการใช้งาน Validation ของ Laravel ซึ่งใช้งานได้ง่ายมากๆ โดยประโยชน์ของ Laravel validation นั้นเอาไว้สำหรับตรวจสอบข้อมูลว่าถูกต้องตามที่เราต้องการหรือไม่ ก่อนที่จะบันทึกลงฐานข้อมูล(Database) ทำให้เราสามารถจัดเก็บข้อมูลถูกต้องตามความต้องการเช่น เราต้องการเก็บเบอร์โทรศัพท์ลงฐานข้อมูล ถ้าเราไม่ได้ใช้ Laravel validation ข้อมูลที่ผู้ใช้งานระบบจะกรอกมาจะเป็น 081-1448181 หรือ 02-2330-343 หรือ 099-234-2421 ซึ่งจริงๆแล้วเราไม่ได้ต้องการ ขีดหรือ (-) เลย เราแค่ต้องการให้ผู้ใช้งานกรอกแค่ตัวเลข เช่น 0811448181 เท่านั้น ดังนั้นเราจึงจำเป็นต้องใช้ Laravel validation นั้นเอง Laravel Validation เป็น แพคเก็จที่ติดมาตอนติดตั้ง...</p>
<p>The post <a href="https://www.itoffside.com/laravel-validation/">Laravel การตรวจสอบข้อมูลก่อนบันทึกด้วย Validation</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>สวัสดีครับ วันนี้ผมมาแนะนำการใช้งาน <strong>Validation ของ Laravel</strong> ซึ่งใช้งานได้ง่ายมากๆ โดยประโยชน์ของ <strong>Laravel validation</strong> นั้นเอาไว้สำหรับตรวจสอบข้อมูลว่าถูกต้องตามที่เราต้องการหรือไม่ ก่อนที่จะบันทึกลงฐานข้อมูล(Database) ทำให้เราสามารถจัดเก็บข้อมูลถูกต้องตามความต้องการเช่น เราต้องการเก็บเบอร์โทรศัพท์ลงฐานข้อมูล ถ้าเราไม่ได้ใช้ <strong>Laravel validation</strong> ข้อมูลที่ผู้ใช้งานระบบจะกรอกมาจะเป็น 081-1448181 หรือ 02-2330-343 หรือ 099-234-2421 ซึ่งจริงๆแล้วเราไม่ได้ต้องการ ขีดหรือ (-) เลย เราแค่ต้องการให้ผู้ใช้งานกรอกแค่ตัวเลข เช่น 0811448181 เท่านั้น ดังนั้นเราจึงจำเป็นต้องใช้ Laravel validation นั้นเอง<span id="more-3363"></span></p>
<p><strong>Laravel Validation</strong> เป็น แพคเก็จที่ติดมาตอนติดตั้ง Laravel เลยเราไม่ต้องไปติดตั้งเพิ่ม ในการเรียนรู้การใช้งาน <strong>Laravel Validation</strong> นั้นเรียนรู้ง่าย ไม่ซับซ้อน ใช้งานไม่ยาก เพียงเรากำหนดเงื่อนไข ที่ต้องการ เวลา ผู้ใช้กรอกข้อมูลแล้ว submit form มา จังหวะนี้ ที่ Validation ทำการตรวจสอบ ถ้าหากว่าข้อมูลที่ตรวจสอบไม่ถูกต้อง ก็จะส่ง ข้อความมาหาผู้ใช้ แสดงผลที่หน้าฟอร์มทันที</p>
<h3>เริ่มต้นใช้งาน โดยเริ่มจากทำ ตัวอย่างง่ายๆ ระบบ เพิ่มหนังสือ ครับ</h3>
<h4>#กำหนด Routes (เส้นทาง)</h4>
<p>เริ่มแรก ให้เรา กำหนด routes ที่ <em>routes/web.php</em></p><pre class="crayon-plain-tag">use App\Http\Controllers\BookController;
 
Route::get('/book/create', [BookController::class, 'create']);
Route::post('/book', [BookController::class, 'store']);
Route::get('/book/success', [BookController::class, 'saveSuccess']);</pre><p></p>
<h4>#สร้าง Validation</h4>
<p>ให้เราทำการสร้าง validation สำหรับตรวจสอบข้อมูลโดนใช้คำสั่งใน command<br />
<span style="color: #ff00ff;">php artisan make:request BookSave</span><br />
หรือจะสร้างไฟล์ใน App/http/requests/BookSave.php ก็ได้</p>
<p><strong>นำโค๊ดด้านล่างไปวางไว้ในไฟล์ BookSave.php</strong></p><pre class="crayon-plain-tag">&lt;?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class BookSave extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'firstname' =&gt; 'required',
            'lastname' =&gt; 'required',
            'username' =&gt; 'required',
            'email' =&gt; 'required|email',
            'tel' =&gt; 'required|numeric|digits_between:8,15',
        ];
    }

    public function messages()
    {
        return [
            'firstname.required' =&gt; 'โปรดระบุชื่อจริง',
            'lastname.required' =&gt; 'โปรดระบุนามสกุล',
            'username.required' =&gt; 'โปรดระบุชื่อผู้ใช้',
            'email.required' =&gt; 'โปรดระบุอีเมล์',
            'email.email' =&gt; 'รูปแบบอีเมล์ไม่ถูกต้อง',
            'tel.required' =&gt; 'โปรดระบุเบอร์โทร',
            'tel.numeric' =&gt; 'ระบุเฉพาะตัวเลขเท่านั้น',
            'tel.digits_between' =&gt; 'เบอร์โทรต้องมี 8 - 15 ตัว',
        ];
    }
}</pre><p><span style="color: #ff6600;"><strong>อธิบายโค๊ด</strong></span><br />
<strong>บรรทัดที่ 14-17</strong> กรณีที่ไม่ต้องการตรวจสอบสิทธิ์การเข้าถึงเช่นผู้ใช้คนนี้สามารถ บันทึกข้อมูล หรือแก้ไขข้อมูลได้ ให้เราคืนค่าเป็น true ตามตัวอย่างได้เลย<br />
<strong>บรรทัดที่ 24-33</strong> เป็นการกำหนดการตรวจสอบข้อมูลที่ส่งมาจากฟอร์ม<br />
<strong>บรรทัดที่ 27</strong> ตรวจสอบว่าชื่อจริง โดยอ้างอิงจาก หน้าฟอร์ม name=&#8221;firstname&#8221; ห้ามว่าง<br />
<strong>บรรทัดที่ 28</strong> ตรวจสอบนามสกุล ห้ามว่าง อ้างอิงหลักการเดียวกับบรรทัดบน เช่นกันคือ lastname<br />
<strong>บรรทัดที่ 29</strong> ตรวจสอบ username ห้ามว่าง<br />
<strong>บรรทัดที่ 30</strong> ตรวจสอบ email ห้ามว่างและ รูปแบบต้องเป็นอีเมล์ เช่น sample@mail.com หรือ test@hotmail.com<br />
<strong>บรรทัดที่ 31</strong> ตรวจสอบ เบอร์โทร ห้ามว่าง, ต้องเป็นตัวเลขเท่านั้น และมีจำนวนตัวอักษรตั้งแต่ 8 ตัวถึง 15 ตัว</p>
<p><strong>บรรทัดที่ 35-47</strong> เป็นการกำหนดข้อความแสดงผลถ้าตรวจสอบแล้วไม่ผ่าน ตรงนี้ถ้าเราไม่มีฟังก์ชั่น messages() นี้ ระบบจะไปเอาข้อความ Default จากไฟล์ resources/lang/en/validation.php หรือ resources/lang/xx/validation.php ตาม local ที่เราตั้งค่าครับ <span style="color: #808080;">(ปล. เราสามารถ แก้ไขไฟล์แสดงข้อความ error ได้เหมือนกัน)</span></p>
<p>เราสามารถดู rule เพิ่มเติมนอกจากตัวอย่าง ได้ซึ่งมีให้ใช้งานในหลากหลายงานเยอะมาก<br />
<a href="https://laravel.com/docs/9.x/validation#available-validation-rules" target="_blank" rel="noopener">https://laravel.com/docs/9.x/validation#available-validation-rules</a></p>
<h4>#สร้าง Controller</h4>
<p>ให้เราทำการสร้าง controller ชื่อ BookController จะสร้างโดยใช้คำสั่งใน command<br />
<span style="color: #ff00ff;">php artisan make:controller BookController</span><br />
หรือจะสร้างไฟล์ใน App/http/controllers/BookController.php ก็ได้เช่นกัน<br />
<strong>แล้วให้นำโค๊ดด้านล่างไปวางไว้</strong></p><pre class="crayon-plain-tag">&lt;?php

namespace App\Http\Controllers;

use App\Http\Requests\BookSave;

class BookController extends Controller
{
    public function create()
    {
        return view('book.create');
    }

    public function store(BookSave $request)
    {
        return redirect('/book/success');
    }

    public function saveSuccess()
    {
        return view('book.save_success');
    }
}</pre><p><span style="color: #ff6600;"><strong>อธิบายโค๊ด</strong></span><br />
<strong>บรรทัด 5</strong> เรียกใช้ BookSave Validate โดยใช้คำสั่ง use App\Http\Requests\BookSave<br />
<strong>บรรทัดที่ 9-12</strong> ฟังก์ชั่น create() แสดงผลหน้าฟอร์ม<br />
<strong>บรรทัดที่ 14-17</strong> ฟังก์ชั่น store() บันทึกข้อมูลฟอร์ม เมื่อฟอร์ม Submit มา จะผ่าน BookSave ก่อนเข้า Controller Method<br />
<strong>บรรทัดที่ 19-22</strong> ฟังก์ชั่น saveSuccess() แสดงหน้าจอเมื่อบันทึกข้อมูลสำเร็จ</p>
<h4>#สร้าง View</h4>
<p>&#8211; หน้าจอฟอร์ม create.blade.php<br />
ให้เราสร้างไฟล์ view ที่ resources/views/book/create.blade.php (ถ้าไม่มีโฟล์เดอร์ book ให้สร้างขึ้นมาเลยครับ) <strong>แล้วนำโค๊ดด้านล่างไปวางไว้</strong></p><pre class="crayon-plain-tag">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;

&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="ie=edge"&gt;
    &lt;title&gt;Shop Book&lt;/title&gt;
    &lt;link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous"&gt;
&lt;/head&gt;

&lt;body class="bg-light"&gt;
    &lt;div class="container" style="width: 960px;"&gt;
        &lt;main&gt;
            &lt;div class="py-5 text-center"&gt;
                &lt;img src="https://laravel.com/img/logotype.min.svg"&gt;
                &lt;h2&gt;Checkout form&lt;/h2&gt;
                &lt;p class="lead"&gt;ระบบสั่งซื้อสินค้าออนไลน์ ง่ายดายเพียงปลายนิ้ว&lt;/p&gt;
            &lt;/div&gt;

            &lt;div class="row g-5"&gt;
                &lt;div class="col-md-5 col-lg-4 order-md-last"&gt;
                    &lt;h4 class="d-flex justify-content-between align-items-center mb-3"&gt;
                        &lt;span class="text-primary"&gt;Your cart&lt;/span&gt;
                        &lt;span class="badge bg-primary rounded-pill"&gt;3&lt;/span&gt;
                    &lt;/h4&gt;
                    &lt;ul class="list-group mb-3"&gt;
                        &lt;li class="list-group-item d-flex justify-content-between lh-sm"&gt;
                            &lt;div&gt;
                                &lt;h6 class="my-0"&gt;ขนมปังใส้มายองเนส&lt;/h6&gt;
                                &lt;small class="text-muted"&gt;สุดยอดขนมปังแสนอร่อย อิ่มแน่นอน&lt;/small&gt;
                            &lt;/div&gt;
                            &lt;span class="text-muted"&gt;฿12&lt;/span&gt;
                        &lt;/li&gt;
                        &lt;li class="list-group-item d-flex justify-content-between lh-sm"&gt;
                            &lt;div&gt;
                                &lt;h6 class="my-0"&gt;นมเปรี้ยว ตราสุขใจ&lt;/h6&gt;
                                &lt;small class="text-muted"&gt;นมเปรี้ยวขนาด 100ML อร่อยเต็มๆ&lt;/small&gt;
                            &lt;/div&gt;
                            &lt;span class="text-muted"&gt;฿10&lt;/span&gt;
                        &lt;/li&gt;
                        &lt;li class="list-group-item d-flex justify-content-between lh-sm"&gt;
                            &lt;div&gt;
                                &lt;h6 class="my-0"&gt;ยาสีฟัน มายดรีม&lt;/h6&gt;
                                &lt;small class="text-muted"&gt;ยาสีฟัน ฟันขาวสดชื่น&lt;/small&gt;
                            &lt;/div&gt;
                            &lt;span class="text-muted"&gt;฿20&lt;/span&gt;
                        &lt;/li&gt;
                        &lt;li class="list-group-item d-flex justify-content-between bg-light"&gt;
                            &lt;div class="text-success"&gt;
                                &lt;h6 class="my-0"&gt;Promo code&lt;/h6&gt;
                                &lt;small&gt;ส่วนลดพิเศษ&lt;/small&gt;
                            &lt;/div&gt;
                            &lt;span class="text-success"&gt;−฿5&lt;/span&gt;
                        &lt;/li&gt;
                        &lt;li class="list-group-item d-flex justify-content-between"&gt;
                            &lt;span&gt;Total (USD)&lt;/span&gt;
                            &lt;strong&gt;฿37&lt;/strong&gt;
                        &lt;/li&gt;
                    &lt;/ul&gt;

                    &lt;form class="card p-2"&gt;
                        &lt;div class="input-group"&gt;
                            &lt;input type="text" class="form-control" placeholder="Promo code"&gt;
                            &lt;button type="submit" class="btn btn-secondary"&gt;Redeem&lt;/button&gt;
                        &lt;/div&gt;
                    &lt;/form&gt;
                &lt;/div&gt;
                &lt;div class="col-md-7 col-lg-8"&gt;
                    &lt;h4 class="mb-3"&gt;Billing address&lt;/h4&gt;
                    &lt;form method="post" action="{{ url('/book') }}"&gt;
                        @csrf
                        &lt;div class="row g-3"&gt;
                            &lt;div class="col-sm-6"&gt;
                                &lt;label class="form-label"&gt;ชื่อ&lt;/label&gt;
                                &lt;input type="text" name="firstname" class="form-control @error('firstname') is-invalid @enderror" value="{{ old('firstname') }}"&gt;
                                &lt;div class="invalid-feedback"&gt;
                                    {{ $errors-&gt;first('firstname') }}
                                &lt;/div&gt;
                            &lt;/div&gt;

                            &lt;div class="col-sm-6"&gt;
                                &lt;label class="form-label"&gt;นามสกุล&lt;/label&gt;
                                &lt;input type="text" name="lastname" class="form-control @error('lastname') is-invalid @enderror" value="{{ old('lastname') }}"&gt;
                                &lt;div class="invalid-feedback"&gt;
                                    {{ $errors-&gt;first('lastname') }}
                                &lt;/div&gt;
                            &lt;/div&gt;

                            &lt;div class="col-12"&gt;
                                &lt;label for="username" class="form-label"&gt;Username&lt;/label&gt;
                                &lt;div class="input-group has-validation"&gt;
                                    &lt;span class="input-group-text"&gt;@&lt;/span&gt;
                                    &lt;input type="text" name="username" class="form-control @error('username') is-invalid @enderror" value="{{ old('username') }}"&gt;
                                    &lt;div class="invalid-feedback"&gt;
                                        {{ $errors-&gt;first('username') }}
                                    &lt;/div&gt;
                                &lt;/div&gt;
                            &lt;/div&gt;

                            &lt;div class="col-6"&gt;
                                &lt;label for="email" class="form-label"&gt;Email&lt;/label&gt;
                                &lt;input type="text" name="email" class="form-control @error('email') is-invalid @enderror" placeholder="you@example.com" value="{{ old('email') }}"&gt;
                                &lt;div class="invalid-feedback"&gt;
                                    {{ $errors-&gt;first('email') }}
                                &lt;/div&gt;
                            &lt;/div&gt;

                            &lt;div class="col-6"&gt;
                                &lt;label for="zip" class="form-label"&gt;เบอร์โทร&lt;/label&gt;
                                &lt;input type="text" name="tel" class="form-control @error('tel') is-invalid @enderror" value="{{ old('tel') }}"&gt;
                                &lt;div class="invalid-feedback"&gt;
                                    {{ $errors-&gt;first('tel') }}
                                &lt;/div&gt;
                            &lt;/div&gt;

                            &lt;div class="col-12"&gt;
                                &lt;label for="address" class="form-label"&gt;ที่อยู่&lt;/label&gt;
                                &lt;input type="text" name="address" class="form-control" placeholder="1234 หมู่ 9 ต.บางรัก อ.บางประกง กรุงเทพฯ 11220" value="{{ old('address') }}"&gt;
                                &lt;div class="invalid-feedback"&gt;
                                    Please enter your shipping address.
                                &lt;/div&gt;
                            &lt;/div&gt;
                        &lt;/div&gt;

                        &lt;hr class="my-4"&gt;

                        &lt;button class="w-100 btn btn-primary btn-lg" type="submit"&gt;Continue to checkout&lt;/button&gt;
                    &lt;/form&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/main&gt;

        &lt;footer class="my-5 pt-5 text-muted text-center text-small"&gt;
            &lt;p class="mb-1"&gt;&amp;copy; 2017–2022 Company Name&lt;/p&gt;
            &lt;ul class="list-inline"&gt;
                &lt;li class="list-inline-item"&gt;&lt;a href="#"&gt;Privacy&lt;/a&gt;&lt;/li&gt;
                &lt;li class="list-inline-item"&gt;&lt;a href="#"&gt;Terms&lt;/a&gt;&lt;/li&gt;
                &lt;li class="list-inline-item"&gt;&lt;a href="#"&gt;Support&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
        &lt;/footer&gt;
    &lt;/div&gt;
    
&lt;/body&gt;

&lt;/html&gt;</pre><p><span style="color: #ff6600;"><strong>อธิบายโค๊ด</strong></span><br />
<strong>บรรทัดที่ 72-130</strong> เป็นฟอร์ม ที่มีช่องกรอกข้อมูล<br />
จะอธิบายที่ช่อง firstname ที่บรรทัด 76 โดยสิ่งที่อ้างอิงกันคือ name=&#8221;firstname&#8221; จะถูกไปอ้างอิงในไฟล์ BookSave.php ตอนทำ rule นั้นเอง และ เราได้กำหนด class is-invalid ให้กับช่องนี้กรณีมี error ตรวจสอบไม่ผ่าน ให้มี is-invalid (class ที่แสดงกรอบสีแดงพร้อม ไอคอนตกใจ) และ แสดงข้อความหลักจากกด submit ไปแล้วเพื่อไม่ให้ค่าหายไปโดยใช้ old ซึ่งเป็น session แบบ flash ที่ใช้เพียงครั้งเดียว</p>
<p>ส่วนช่องอื่นๆ ก็ใช้หลักการเดียว เพียงแต่เปลี่ยนชื่อฟิล์ด แค่นั้นครับ</p>
<p>&#8211; หน้าจอแสดงผลลัพท์ save_success.blade.php<br />
ให้เราสร้างไฟล์ view ที่ resources/views/book/save_success.blade.php แล้ว<strong>นำโค๊ดด้านล่างไปวางไว้</strong></p><pre class="crayon-plain-tag">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;

&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="ie=edge"&gt;
    &lt;title&gt;Shop Book&lt;/title&gt;
    &lt;link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous"&gt;
&lt;/head&gt;

&lt;body class="bg-light"&gt;
    &lt;div class="container" style="width: 960px;"&gt;
        &lt;div class="text-center"&gt;
            &lt;h1 class="mt-5"&gt;บันทึกข้อมูลสำเร็จ&lt;/h1&gt;
            &lt;a href="{{ url('/book/create') }}" class="btn btn-primary" role="button"&gt;กลับไปหน้าฟอร์ม&lt;/a&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/body&gt;

&lt;/html&gt;</pre><p><span style="color: #ff6600;"><strong>อธิบายโค๊ด</strong></span><br />
โค๊ดส่วนนี้การทำงานคือแสดงผลลัพท์หน้าจออย่างเดียว ให้ผู้ใช้เห็นว่า บันทึกข้อมูลผ่านการตรวจสอบแล้ว</p>
<p>มาดูผลลัพท์กันครับ</p>
<figure id="attachment_3371" aria-describedby="caption-attachment-3371" style="width: 660px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-3371 size-large" src="https://www.itoffside.com/wp-content/uploads/2022/08/Screen-Shot-2565-08-03-at-14.49.33-1024x617.png" alt="" width="660" height="398" srcset="https://www.itoffside.com/wp-content/uploads/2022/08/Screen-Shot-2565-08-03-at-14.49.33-1024x617.png 1024w, https://www.itoffside.com/wp-content/uploads/2022/08/Screen-Shot-2565-08-03-at-14.49.33-300x181.png 300w, https://www.itoffside.com/wp-content/uploads/2022/08/Screen-Shot-2565-08-03-at-14.49.33-768x463.png 768w, https://www.itoffside.com/wp-content/uploads/2022/08/Screen-Shot-2565-08-03-at-14.49.33-1536x926.png 1536w, https://www.itoffside.com/wp-content/uploads/2022/08/Screen-Shot-2565-08-03-at-14.49.33-2048x1235.png 2048w, https://www.itoffside.com/wp-content/uploads/2022/08/Screen-Shot-2565-08-03-at-14.49.33-80x48.png 80w" sizes="auto, (max-width: 660px) 100vw, 660px" /><figcaption id="caption-attachment-3371" class="wp-caption-text">Laravel validation ตรวจสอบข้อมูลก่อนบันทึกอย่างง่าย</figcaption></figure>
<p>สำหรับการใช้งาน Laravel validation ก็ประมาณนี้ ซึ่งจริงๆมี rule ที่เยอะแยะมากและช่วยเราทำให้เราลดเวลาในการเขียนเองเยอะไปมาก เดี่ยวไว้คราวหน้าจะมาแนะนำทริปใหม่ๆ เพิ่มเติม สำหรับบทความนี้ก็มีเพียงเท่านี้ ขอบคุณครับ</p>
<p><strong>หากต้องการดาวน์โหลด source code Laravel Validation ของตัวอย่างนี้ทั้งหมดสามารถ inbox มาขอได้ที่เพจ</strong><br />
<a href="https://www.facebook.com/itoffside" target="_blank" rel="noopener">https://www.facebook.com/itoffside</a><br />
กติกาคือ เพียงแค่กดไลท์เพจ แล้วแคปเจอร์กดไลท์ แล้วส่ง inbox มาหาเราทางเราจะส่งลิงค์ดาวน์โหลดไปให้</p><p>The post <a href="https://www.itoffside.com/laravel-validation/">Laravel การตรวจสอบข้อมูลก่อนบันทึกด้วย Validation</a> first appeared on <a href="https://www.itoffside.com">การเขียนโปรแกรม, เทคโนโลยี</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.itoffside.com/laravel-validation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
