ข้ามไปที่เนื้อหาหลัก

บทความ

เขียนโปรแกรม PHP ให้ปิดงานเร็วขึ้นด้วย CodeIgniter Generator สร้างระบบ CRUD อัตโนมัติพร้อมใช้งาน

มาเขียนโปรแกรมพัฒนาเว็บแอพพลิเคชั่นด้วยภาษา PHP ให้ง่ายขึ้นกันเถอะ [หลักการสร้างไฟล์ MVC อัตโนมัติ] สำหรับวิธีเขียนโค้ดให้เสร็จเร็วนั้น จากที่ได้อ่านหลายๆที่มาก็จะมีขั้นตอนโดยประมาณดังนี้ 1. ออกแบบและวางแผน   คิดก่อนว่าจะมีฐานข้อมูลอะไรบ้าง จะทำอะไรก่อน อะไรหลัง 2. เริ่มขีดเขียนบนแผ่นกระดาษก่อน หรือถ้าถนัดเครื่องมือสร้าง Diagram หรือ Flowchart ต่างๆก็ยิ่งดี แต่ถ้าไม่ถนัดก็เขียนบนกระดาษ คร่าวๆให้จบกระบวนการ 3. ลงมือเขียนโค้ดตามที่ได้วางแผนเอาไว้ จัดการทุกส่วนให้เสร็จเรียบร้อยครบถ้วนกระบวนการ ตรวจนับจำนวนไฟล์ ฟังก์ชั่น ฐานข้อมูลให้ครบถ้วน 4. ทดสอบการทำงานของโปรแกรม หลังจากที่ตรวจสอบจนครบทุกกระบวนการแล้ว ก็ได้เวลามานั่งคลิก นั่งจิ้มไปทีละส่วนเพื่อหาข้อผิดพลาด และตรวจสอบการทำงานว่าได้ตามที่ต้องการหรือไม่ ถ้าเรียบร้อยก็สิ้นสุดกระบวนการ แต่ถ้าไม่เรียบร้อย ก็ย้อนกลับไปที่ ข้อ 3 อีกครั้ง  และในบางครั้งก็มักจะเจอ Bug ที่แก้ไม่หาย ซึ่งตรงนี้ก็จะทำให้เราต้องย้อนกลับไปที่ ข้อ 2 เพื่อตรวจสอบกระบวนการทำงานอีกครั้ง ว่ามีตรงไหนที่ขาดหาย หรือเกินความจำเป็นหรือเปล่า...
โพสต์ล่าสุด

Laravel vs CodeIgniter เลือกอันไหนดี?

PHP Framework Showdown 2025 Laravel vs CodeIgniter เลือกอันไหนดี? คู่มือฉบับสมบูรณ์สำหรับนักพัฒนาไทยที่อยากสร้าง Web App ด้วย PHP Laravel CodeIgniter 4 PHP MVC Backend บทนำ: ทำไมต้องเลือกให้ถูกตัว สำหรับนักพัฒนา PHP ที่กำลังเริ่มต้นสร้าง Web Application คำถามที่หลีกเลี่ยงไม่ได้คือ "ควรเริ่มด้วย Laravel หรือ CodeIgniter?" ทั้งสองเฟรมเวิร์กต่างมีชุมชนขนาดใหญ่ ใช้งาน production จริงมาหลายปี และรองรับ pattern MVC เหมือนกัน แต่แนวคิด ความซับซ้อน และกลุ่มเป้าหมายของโปรเจกต์กลับแตกต่างกันอย่างมีนัยสำคัญ บทความนี้จะพาคุณเปรียบเทียบทั้งคู่แบบตรงไปตรงมา พร้อม code ตัวอย่างจริง ตารางเปรียบเทียบ และข้อสรุปว่าโปรเจกต์แบบไหนเหมาะกับเฟรมเวิร์กไหน เป้าหมายบทความ: ผู้อ่านที่ยังไม่เคยใช้เฟรมเวิร์ก PHP มาก่อน หรือเคยใช้ CodeIgniter 3 แล้วอยากรู้ว่าควร migrate ไป CI4 หรือโดดไป Laravel เลย ทำความรู้จัก: Laravel และ CodeIgniter คืออะไร? 🔴 Laravel Laravel สร้างโดย Taylor Otwell ปี 2011 โดยใช้ Symfony components เป็นรากฐาน ออกแบบมาสำหรับแอปพลิเคชันขนาดกลาง-ใหญ่ ที่ต้องการ feature ครบค...

คู่มือการใช้งาน Claude Code ให้ได้ผลจริง

คู่มือการใช้งาน · Claude Code ใช้ Claude Code ให้ได้ผลจริง Claude Code คือ AI ที่ทำงานใน Terminal ได้โดยตรง — อ่านไฟล์ แก้โค้ด รันคำสั่ง ได้เลย โดยไม่ต้องก๊อปวางเอง คู่มือนี้รวมทุกอย่างที่ต้องรู้ไว้ในหน้าเดียว 8 เทคนิคหลัก 3 กฎสำคัญ 💻 Claude Code ≠ Chatbot ในเว็บ — มันทำงานอยู่ในคอมของคุณโดยตรงผ่าน Terminal สั่งให้อ่านไฟล์ได้ แก้โค้ดได้ รันคำสั่งได้ ผลที่ได้คือ "ของจริงในโปรเจกต์" ไม่ใช่แค่ข้อความ ติดตั้งผ่าน VS Code Extension → ล็อกอิน → ใช้ได้เลย 01 ก่อนเริ่มโปรเจกต์ใหม่ ↓ รัน /init ก่อนเสมอ Claude จะสแกนโปรเจกต์และสร้างไฟล์ CLAUDE.md — เป็นเหมือน "โน้ตย่อของโปรเจกต์" ที่ Claude อ่านทุกครั้งที่เปิด Session ไม่ต้องอธิบายซ้ำ /init 📝 เขียน CLAUDE.md ให้กระชับ บอกแค่ที่จำเป็น — โปรเจกต์ทำอะไร, ไฟล์อยู่ที่ไหน, ข้อกำหนดพิเศษ ไม่เกิน 100–200 บรรทัด ยิ่งยาวยิ่งช้า 02 เลือก Model ให้ตรงงาน Opus งานคิดซับซ้อน วิเคราะห์ลึก โปรเจกต์ใหญ่ ราคาสูง Sonnet งานทั่วไปทุกวัน — แนะนำใช้เป็นหลัก คุ้มค่า Haiku งานเบา คำถามสั้น หรืองาน batch ปริมาณมาก ถูกสุด 03 เปิด Plan Mode ก่อนส...

Debug CI4 ยังไงให้ได้ผล? เมื่อ Log เพียงอย่างเดียวไม่พอ — แนะนำ DEX

📅 June 2025  ·  🏷️ CodeIgniter 4, PHP, Debugging, DEX, Laravel  ·   Debug CI4 ยังไงให้ได้ผล? เมื่อ Log เพียงอย่างเดียวไม่พอ — แนะนำ DEX CodeIgniter 4 PHP Debugging DEX Laravel Web Development เคยเจอ error แปลกๆ ใน production แล้วเปิด log ขึ้นมาดู แต่รู้สึกว่า "มันบอกแค่นี้เองเหรอ?" ไม่รู้ว่า request ทำอะไรไปก่อนจะ fail ไม่รู้ว่า query ไหนรันไปบ้าง ไม่รู้ว่า bug นี้เคยเกิดแล้วหรือเปล่า — บทความนี้มีคำตอบให้ครับ 🔍 ปัญหาที่นักพัฒนา CI4 ทุกคนเจอ ถ้าคุณเคยทำงานกับ CodeIgniter 4 (CI4) มาสักพัก คุณคงรู้ดีว่า การ debug แอปพลิเคชันจริงๆ นั้น ไม่ง่ายอย่างที่คิด โดยเฉพาะเมื่อ application ขึ้น production ไปแล้ว สิ่งที่เรามักเห็นใน log file มักมีหน้าตาแบบนี้: // log ที่เห็นใน application/logs/ ERROR - 2025-06-09 14:32:11 --> Call to a member function getResult() on bool ERROR - 2025-06-09 15:01:44 --> Trying to access array offset on value of type null Log บอกได้ว่า error เกิด ที่ไหน แต่มันไม่บอกว่า: Controller method ไหนที่รับ request นั้น? Database query อะไร...

ค้นหาบล็อกนี้

บทความเดือนล่าสุด

แจกโค้ด PHP : รวมลิงค์ แจกฟรี!! ตัวอย่างโปรเจ็กต์ ที่พัฒนาด้วย PHP

       สำหรับหลายท่านที่ขอโค้ดเข้ามาทาง Inbox ของเฟซบุ๊กแฟนเพจ หรือถามถึงระบบต่างๆหลังไมค์มานั้น ส่วนใหญ่ก็มีแจกอยู่แล้วในเว็บบอร์ด ThaiCreate.Com นะครับ  และด้านล่างนี้ก็เป็น Source Code PHP ระบบต่างๆ ที่มีเหล่าผู้ใจดีแจกฟรี!! ให้นำไปลองใช้ลองศึกษากันครับ แจกฟรี  !! ตัวอย่างการ  PHP  Booking # จองห้องประชุม  ผ่านเว็บครับ http://www.thaicreate.com/php/forum/090558.html ระบบแบบสอบถาม https://www.thaicreate.com/php/forum/099342.html แจก code!! การทำประเมินออนไลน์มี ไว้สำหรับพัฒนาต่อยอด https://www.thaicreate.com/php/forum/102203.html แจกฟรี PHP CodeIgniter CMS ให้ทุกท่านได้ลอง (รองรับ Responsive) http://www.thaicreate.com/php/forum/122929.html โดย : https://www.cszcms.com/ แจก PHP : ระบบยืม-คืนเอกสาร (จากตัวอย่าง เอกสารข้อมูลวัตถุดิบสินค้า) http://www.thaicreate.com/php/forum/103428.html แจกระบบ PHP Shopping Cart ระบบตะกร้าสินค้า ระบบสั่งซื้อ มีระบบตัดสต๊อก, สั่งซื้อวัตถุดิบคงเหลือ ht...

สร้าง Cafe ERP ด้วย Go & Next.js

NEW RELEASE 2026 สร้าง Cafe ERP ด้วย Go & Next.js คู่มือลงมือทำระบบขายหน้าร้าน (POS) และระบบจัดการร้านค้า (ERP) จากศูนย์จนขึ้น Production จริง หนังสือ "สร้าง Cafe ERP ด้วย Go & Next.js" เล่มนี้ไม่ใช่หนังสือทฤษฎีทั่วไป แต่เป็น คู่มือระดับสถาปนิก (Architect Guide) ที่จะพาคุณลุยเขียนโค้ดทีละบรรทัด สร้างระบบบริหารจัดการร้านคาเฟ่ที่ทำงานได้เสถียร ไร้บั๊ก ปลอยภัย และที่สำคัญคือ **"ใช้งานทางธุรกิจได้จริงในประเทศไทย"** จุดเด่นที่ไม่เหมือนใครในหนังสือเล่มนี้ 🇹🇭 เกณฑ์สรรพากรไทยและภาษีมูลค่าเพิ่ม (VAT 7%) ไม่ละเลยกฎหมายสรรพากร! สอนออกแบบ Schema และเขียนโค้ดคำนวณภาษีมูลค่าเพิ่ม (VAT Inclusive/Exclusive) สำหรับการออก **ใบกำกับภาษีอย่างย่อ (ABB)** และ **ใบกำกับภาษีเต็มรูป (FULL)** รวมไปถึงสรุปรายงานภาษีตอนปิดกะ 🔌 ต่อเชื่อม Hardware & การทำงานแบบไร้เน็ต (Offline-First) เจาะ...

จัดระเบียบโค้ด ใน Notepad++ (Auto indentation plugin)

เวลาเขียนโค้ด แล้วไม่ได้จัดรูปแบบ หรือเอาโค้ดจาก Text Editor หนึ่งมาใช้ในอีกตัวหนึ่งก็มีโอกาสที่ Tab หรือ Space bar จะต่างกัน แล้วเราจะมานั่ง TAB เองก็คงไม่ไหว จึงจำเป็นต้องหา Plugin เข้ามาช่วย ลองค้นดูก็เจอกับกระทู้นี้ >> แม้หน้าตาจะไม่ตรงกันแต่หลักๆก็คือเพิ่ม Plugins เข้าไปชื่อ Indent By fold อ่านเต็มๆได้ที่นี่ https://softwarerecs.stackexchange.com/questions/1496/auto-indentation-plugin-for-notepad

PHP CI MANIA : ตอนที่ 8 วิธีสร้าง Dropdown List ให้เลือกในแบบฟอร์มป้อนข้อมูล แบบ JOIN มาจากตารางอื่น (Option List)

เปิดไปที่แท็ป " ตั้งค่า " เลื่อนลงไปใน ส่วนที่ 3 เพื่อตั้งค่าการ JOIN TABLE เมื่อคลิกที่ไอคอน จะปรากฏป๊อบอัพให้เลือก Table ที่ต้องการ JOIN และกำหนดฟิลด์อ้างอิง และฟิลด์ที่ต้องการนำมาแสดงผลในช่อง Drop-down list   ในตัวอย่างนี้จะ JOIN กับตารางสมาชิก tb_members และอ้างอิงด้วย userid และดึงชื่อกับนามสกุลมาแสดง เมื่อกำหนดเรียบร้อยไอคอนฐานข้อมูลจะเปลี่ยนเป็นสีฟ้า จากนั้นก็กดสร้างไฟล์ Model / Views / JavaScript / Controller และกด Preview ดูผลลัพธ์จะได้ดังภาพต่อไปนี้ สังเกตว่าจากเดิมที่ Label ในหน้าตั้งค่าเป็น "ไอดีผู้ใช้งาน" จะกลายเป็น "ชื่อผู้ใช้งาน" แทนในหน้าแบบฟอร์มเพิ่มข้อมูล และเป็น Drop-Down list ที่สามารถค้นหารายชื่อจากตาราง tb_members ได้อีกด้วย ดูคลิปวิดีโอแนะนำการใช้งานได้ที่นี่ << กำหนด INPUT เป็นประเภทต่างๆ   การค้นหา แบ่งหน้า และการจัดเรียง » [[ PHP CI MANIA | ลดเวลาเขียนโค้ด เพิ่มเวลาบริหารจัดการได้มากขึ้น | Webpage Generator by CodeIgniter Framework ]] HOME

ขั้นตอนการเปิด Error ใน CodeIgniter 4 เมื่อข้อความ Whoops!

ขั้นตอนการเปิด Error ใน CodeIgniter 4 Whoops! We seem to have hit a snag. Please try again later... เมื่อเกิดข้อผิดพลาด CodeIgniter 4 จะไม่แสดง Error message ออกมาให้เห็น เพราะตั้งค่าไว้ให้รันในโหมดเว็บเซิร์ฟเวอร์จริง (Production Server) เพื่อค้นหาวิธีการเปิดข้อความ Error จึงลองค้นหาใน Google ด้วยคำว่า "how to debug codeigniter 4" ก็ได้วิธีมาว่า ให้แก้ไขค่าที่ไฟล์ env โดยแก้ไขชื่อไฟล์เป็น .env หากใช้ Notepad++ ก็ให้คลิกขวา แล้วเลือก Edit with Notepad++ เลื่อนหาบรรทัด CI_ENVIRONMENT และทำการเปลี่ยนค่า ให้ลบเครื่องหมาย # ด้านหน้าออก และเปลี่ยนค่า production เป็น development กลับไปที่หน้าเว็บบราวเซอร์ แล้วกดรีเฟรชหน้าเว็บอีกครั้ง (F5) ก็จะปรากฏข้อความแสดง error ออกมาให้ Debug กันได้ง่ายขึ้น * หมายเหตุ * กรณีนำไปใช้บนเว็บโฮสติ้ง หรือบนเว็บเซิร์ฟเวอร์จริง (Production Server) ให้ทำการแก้ไขค่าเป็น production ก่อนอัพโหลด ที่มา :  https://stackoverflow.com/questions/60501607/how-to-debug-codeigniter-4 PHP  CI  MANIA   - PHP Code Generator  โป...

PHP จัดตารางการแข่งขันฟุตบอล / บาสเกตบอล / กีฬาประเภทพบกันทุกทีมเหย้า-เยือน

PHP generate football schedule ในโค้ดตัวอย่างด้านล่างนี้ จะเป็นการวนลูป for อยู่ด้วยกันทั้งหมด 3 รอบ for ครั้งที่ 1  กำหนดให้นับแค่ 2  ในลูปแรกจะเป็นทีมเหย้า ในลูปที่สองจะเป็นทีมเยือน for ครั้งที่ 2 จะนับตามจำนวนทีม ในตัวอย่างมี 8 ทีมก็จะนับจนกว่าจะครบ 8 ทีม for ครั้งที่ 3 จะนับตามจำนวนทีมคู่แข่ง ในตัวอย่างมี 8 ทีม ก็จะพบคู่แข่งอีก 7 ทีม  (ซึ่งพบกัน 2 ครั้ง เหย้า-เยือน ก็จะเท่ากับ 14 ครั้ง) ข้อสังเกต เมื่อขึ้น Day 9 จะมีการสลับเอาทีมเยือนขึ้นมาเป็นทีมเหย้า Team 2 จึงเป็นเจ้าบ้านรับการมาเยือนของ Team 1 แทน สำหรับโค้ดที่ใช้เป็นตัวอย่าง มีดังต่อไปนี้ [PHP CODE] <?php $teams = array( 'Team 1', 'Team 2', 'Team 3', 'Team 4', 'Team 5', 'Team 6', 'Team 7', 'Team 8' ); $team_logo[0] = 'https://cdn4.iconfinder.com/data/icons/pokemon-go/512/Pokemon_Go-15-512.png'; $team_logo[1] = 'https://cdn4.iconfinder.com/data/icons/pokemon-go/512/Pokemon_Go-16-512.png';...

MySQL คำสั่ง SQL จัดเรียงคำตามตัวอักษร ภาษาไทย ในฟิลด์ที่กำหนด Collation เป็น utf-8

การจัดเรียงข้อมูลตามลำดับตัวอักษรไทย   CONVERT( name USING tis620 ) ASC การเรียงลำดับตัวอักษรแบบ tis-620 ในการเขียนโปรแกรม PHP เพื่อแสดงข้อมูลจากฐานข้อมูล MySQL การเขียนคำสั่ง SQL ให้จัดเรียงลำดับนั้น เราจะใช้ ORDER BY  และกำหนดฟิลด์ที่ต้องการจัดเรียงลำดับ เช่น ในตัวอย่างนี้จะเป็นการจัดเรียงตามลำดับตัวอักษรของชื่อเมนู นั่นก็คือฟิลด์ name นั่นเอง แต่ในขั้นตอนการสร้างฐานข้อมูลนั้น เราได้กำหนด Charset ของตารางและฟิลด์เป็นการจัดเรียง Collation แบบ utf-8 เอาไว้เพื่อให้รองรับภาษาแบบมาตรฐาน ดังนั้นเมื่อเขียนโปรแกรมสั่ง ORDER BY name ASC ก็จะมีการจัดเรียงที่จะให้คำที่มีสระนำหน้าอยู่หลัง ฮ. นกฮุก ไปเสียหมด จะเห็นว่าชื่อเมนูหรือสินค้าที่มี ข นำหน้าจะมาเป็นลำดับแรก ทั้งที่จริงๆแล้ว มีสินค้าที่เป็น ก อยู่หลายรายการ เพียงแต่ว่ามีสระนำหน้าอยู่เท่านั้นเอง จากรูปด้านบน จะมีรายการที่เป็น ก อยู่ 3 รายการ คือเมนู โกโก้ ต่างๆ แต่เพราะมีสระโอ นำหน้า จึงทำให้การจัดเรียงแบบ utf-8 ให้อยู่ในลำดับท้าย เพื่อแก้ไขปัญหานี้ การเขียนโปรแกรมเพื่อ ORDER BY จะต้...

PHP ระบบบริหารจัดการ พล็อตนิยาย - ตอนที่ 1

PHP Fiction Management System   โปรเจ็กต์นี้จะสร้างเป็น "ระบบบริหารจัดการพล็อตนิยาย" แบบง่ายๆ มาเล่าสู่กันฟังครับ มีอยู่ช่วงหนึ่งที่ผมสนใจการเขียนนิยาย และค้นหาข้อมูลเพิ่มเติมเกี่ยวกับการเขียนนิยาย และได้พบกับโปรแกรมหนึ่งที่ช่วยงานด้านการเขียนนิยายให้เป็นเรื่องที่ง่ายขึ้น แต่จากที่ได้อ่านรีวิวแล้วดูเหมือนว่า โปรแกรมช่วยเขียนนิยายนี้ ไม่จะไม่ค่อยรองรับภาษาไทย แต่ผมก็ยังไม่ได้ลองมาดาวน์โหลดมาลองใช้งานดูนะครับ แต่รู้สึกชอบเครื่องมือนี้ เลยอยากลองพัฒนาโดยถอดคุณสมบัติพื้นฐานมาใช้งานดู ว่าจะใช้กับงานเขียนนิยายได้จริงรึเปล่า ตัวอย่างระบบจัดการพล็อตเรื่อง เพื่อช่วยงานเขียนนิยาย หลังจากที่ได้นั่งคิดนอนคิด และหลับไปฝันไป จนในที่สุดก็ได้ฐานข้อมูลระบบบริหารจัดการพล็อตนิยายมาคร่าวๆ มาจนได้ โครงสร้างฐานข้อมูลตอนนี้อาจจะขี้เหร่ไปบ้าง แต่ในอนาคตก็คงจะพัฒนากันต่อไป   ตารางที่จะต้องสร้าง มีทั้งหมด ดังนี้ 1. รายชื่อนิยายทั้งหมด 2. แนวนิยายที่เขียน 3. พล็อตของแต่ละเรื่อง 4. ฉากเหตุการณ์ในแต่ละพล็อต 5. เนื้อเรื่องในแต่ละฉาก 6. รายชื่อตัวละครในนิยา...

PHP คืออะไร : มีหลักการทำงาน และสิ่งที่น่าสนใจอะไรบ้าง?

PHP คืออะไร? PHP ย่อมาจากคำว่า "Personal Home Page Tool" (ปัจจุบันได้เพิ่มเติมคำย่อใหม่โดยรวมกับตัวย่อเป็น  PHP : PHP Hypertext Preprocessor ) ซึ่งเป็นภาษาประเภท Script Language ที่ทำงานแบบ Server Side Script กระบวนการทำงานจะทำงานแบบ โปรแกรมแปลคำสั่ง  interpreter คือแปลภาษาทุกครั้งที่มีคนเรียกสคริปต์ ข้อดีคือ ไม่ต้องนำไปประมวลผลใหม่ (Compiler) เมื่อจะนำโปรแกรมไปใช้งาน หรือจะอัพเดตเวอร์ชั่นของโปรแกรม สามารถอัพโหลดขึ้นไปทับไฟล์เดิมแล้วใช้งานได้ทันที ขอเสียที่ต่างกันอย่างชัดเจนก็คือ กรณี Syntax ผิดจะรู้ก็ต่อเมื่อมีผู้ใช้งานเจอบั๊ก ภาษา PHP  จัดอยู่ในประเภท การเขียนโปรแกรมบนเว็บ (Web-based Programming) เพราะเราจะเก็บโค้ดคำสั่ง หรือสคริปต์ทั้งหมดที่เขียนขึ้นมาไว้บนเครื่องเซิร์ฟเวอร์ที่เดียว (Web Server)  และให้ผู้ใช้งาน (Client) เรียกใช้งานโปรแกรมผ่านเว็บเบราเซอร์ต่างๆ เช่น Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari ฯลฯ เพื่อนำข้อมูลมาแสดงผลที่หน้าจอของผู้ใช้แต่ละคนนั่นเอง PHP มีอะไรน่าสนใจบ้าง? เรามาลองพูดถึงเรื่องของการสร้...

PHP + Fullcalendar กับ MySQL

หลักการทำงาน เรียกข้อมูลจากตาราง tb_event ด้วยฟังก์ชั่นของ MySQLi ข้อมูลจากฐานข้อมูลจะถูกวนลูปเก็บไว้ใน $data และจะถูกส่งไปที่ Fullcalendar ด้วยการแปลงข้อมูลจาก PHP ให้อยู่ในรูปแบบ JSON อาร์เรย์ด้วยฟังก์ชั่น json_encode()