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

วิเคราะห์งบการเงิน ด้วย AI Agent

คู่มือปฏิบัติ · AI Agent

วิเคราะห์งบการเงินด้วย AI Agent
ตั้งแต่เตรียมไฟล์ จนถึงสั่งงาน

คู่มือทีละขั้นตอน ตั้งแต่การจัดเตรียมโฟลเดอร์ ไฟล์เอกสาร ไปจนถึงการขอ Prompt จาก Chat AI และนำไปสั่งงาน Agent ได้อย่างมีประสิทธิภาพ ไม่ต้องเขียน Code ก็ทำได้

⏱ เวลาเตรียม: ~2–3 ชั่วโมง 👤 ระดับ: ผู้ใช้ทั่วไป – นักวิเคราะห์ 🤖 ใช้ได้กับ: Claude · ChatGPT · Gemini
01
ทำความเข้าใจภาพรวมก่อนเริ่ม
Overview & Concept

การใช้ AI Agent วิเคราะห์งบการเงินไม่ใช่แค่การ "วางไฟล์แล้วถาม" — มันต้องการการเตรียมข้อมูลที่มีโครงสร้างชัดเจน เพื่อให้ AI สามารถอ่าน เปรียบเทียบ และสรุปผลได้อย่างแม่นยำ กระบวนการทั้งหมดแบ่งออกเป็น 3 ช่วงหลัก ที่ต้องทำตามลำดับ

ช่วงที่ 1 — เตรียมข้อมูล ช่วงที่ 2 — ขอ Prompt ช่วงที่ 3 — สั่งงาน Agent
• สร้างโฟลเดอร์ให้ถูกต้อง
• รวบรวมงบการเงินย้อนหลัง
• แปลงไฟล์ให้ AI อ่านได้
• Normalize ข้อมูล
• เปิด Chat AI (เช่น Claude)
• อธิบาย context และเป้าหมาย
• ขอให้ AI สร้าง Prompt
• ปรับแต่งให้ตรงกับข้อมูล
• นำ Prompt ไปใส่ใน Agent
• แนบไฟล์ข้อมูลที่เตรียมไว้
• รัน และรับผลเป็นรายงาน
💡
ทำไมต้องเตรียมข้อมูลก่อน?
AI Agent ไม่ได้ "ฉลาด" พอที่จะแก้ไขข้อมูลที่ยุ่งเหยิงให้คุณ ถ้าส่งงบการเงินที่หน่วยไม่ตรงกัน ชื่อบัญชีต่างกันแต่ละปี หรือตัวเลขขาดหาย — ผลลัพธ์ที่ได้จะผิดพลาดทั้งหมด
Phase 1 — เตรียมข้อมูล
02
สร้างโครงสร้างโฟลเดอร์
Folder Structure Setup

เริ่มต้นด้วยการสร้างโฟลเดอร์ในเครื่องให้เป็นระบบ โดยใช้โครงสร้างนี้เป็นมาตรฐาน ชื่อโฟลเดอร์ควรเป็นภาษาอังกฤษเพื่อให้ทำงานร่วมกับ script และ Agent ได้สะดวก

financial_agent/ │ ├── data/ ← ข้อมูลทั้งหมด │ ├── raw/ ← ไฟล์ต้นฉบับ ห้ามแก้ไข │ │ ├── 2022_annual_report.pdf │ │ ├── 2023_annual_report.pdf │ │ ├── 2024_annual_report.pdf │ │ └── 2024_Q3_financial.xlsx │ │ │ ├── processed/ ← หลัง extract + ทำความสะอาด │ │ ├── income_statement.json │ │ ├── balance_sheet.json │ │ ├── cash_flow.json │ │ └── combined_3yr.json ← รวม 3 ปีไว้ไฟล์เดียว │ │ │ ├── reference/ ← ข้อมูลเปรียบเทียบ │ │ ├── industry_avg_2024.csv ← ค่าเฉลี่ยอุตสาหกรรม │ │ └── macro_indicators.csv ← GDP, อัตราดอกเบี้ย ฯลฯ │ │ │ └── metadata/ │ └── data_dictionary.md ← อธิบายนิยามทุก field │ ├── prompts/ ← เก็บ Prompt ทุกตัว │ ├── 01_ratio_agent.md │ ├── 02_trend_agent.md │ ├── 03_risk_agent.md │ └── 04_synthesis_agent.md │ ├── output/ ← ผลลัพธ์จาก Agent │ ├── reports/ │ └── charts/ │ └── README.md ← บันทึก scope งาน
⚠️
ข้อสำคัญสำหรับโฟลเดอร์ raw/
ห้ามแก้ไขไฟล์ใน raw/ เด็ดขาด ให้เก็บต้นฉบับไว้เสมอ การทำงานทั้งหมดให้ทำกับไฟล์ใน processed/ เท่านั้น
03
เตรียมเอกสารและไฟล์
Document Preparation

ก่อนนำข้อมูลไปให้ Agent วิเคราะห์ ต้องรวบรวมเอกสารให้ครบและตรวจสอบความถูกต้อง ตามลำดับความสำคัญในตารางนี้

เอกสาร ช่วงเวลา รูปแบบ ความสำคัญ
งบกำไรขาดทุน (Income Statement)3–5 ปีExcel/CSVสูงมาก
งบดุล (Balance Sheet)3–5 ปีExcel/CSVสูงมาก
งบกระแสเงินสด (Cash Flow)3–5 ปีExcel/CSVสูงมาก
หมายเหตุประกอบงบการเงินปีล่าสุดPDFกลาง
รายงานประจำปี (Annual Report)ปีล่าสุดPDFกลาง
ค่าเฉลี่ยอุตสาหกรรมปัจจุบันCSVเสริม

📌 แหล่งข้อมูลที่น่าเชื่อถือ: set.or.th, สำนักงาน ก.ล.ต., หรือเว็บไซต์ Investor Relations ของบริษัทนั้นๆ

04
ให้ AI ช่วย Normalize ข้อมูล
Data Normalization — ไม่ต้องทำเอง ใช้ Prompt ด้านล่างได้เลย

ขั้นตอนนี้ ไม่จำเป็นต้องทำเองเลย — ให้ AI ช่วย Normalize และแปลงข้อมูลให้อัตโนมัติได้ทั้งหมด เพียงแค่ Copy ตัวเลขจากงบการเงิน แปะลงใน Chat AI แล้วใช้ Prompt ด้านล่างนี้

🤖
วิธีให้ AI ทำแทนคุณ — ไม่ต้องเขียน Code เลย
Copy ตัวเลขจาก Excel หรือ PDF มาวางใน Chat AI แล้วใช้ Prompt ด้านล่าง AI จะ Normalize และส่งออกเป็น JSON ที่พร้อมใช้งานทันที

ขั้นตอนที่ 1 — Prompt แปลงงบการเงินเป็น JSON:

ส่งใน Chat AI (Claude / ChatGPT)
บทบาทของคุณ: คุณเป็นผู้เชี่ยวชาญด้านบัญชีและการแปลงข้อมูลทางการเงิน งาน: แปลงข้อมูลงบการเงินที่ฉันให้มาด้านล่างนี้ให้เป็น JSON ที่มีโครงสร้างมาตรฐาน พร้อมใช้งานกับ AI Agent วิเคราะห์ทันที ข้อมูลบริษัท: - ชื่อบริษัท: [ระบุชื่อบริษัท] - อุตสาหกรรม: [เช่น อาหาร / พลังงาน / อสังหาริมทรัพย์] - ช่วงเวลา: [เช่น ปี 2022–2024] - หน่วย: [เช่น ล้านบาท หรือ พันล้านบาท] กฎการแปลงข้อมูล: 1. key ทุกตัวเป็น English snake_case เช่น "รายได้รวม" → "revenue" "กำไรขั้นต้น" → "gross_profit" 2. ถ้าตัวเลขปีใดขาดหาย ให้ใส่ null พร้อม comment อธิบาย 3. ระบุ unit และ currency ที่ระดับ root ของ JSON 4. ถ้าพบรายการพิเศษ (one-time item) ให้แยก flag ไว้ต่างหาก 5. cross-check: gross_profit = revenue - cost_of_goods [วางข้อมูลจาก Excel หรือ PDF ที่นี่ — ไม่ต้องจัดรูปแบบ]
💬
ถ้ามีหลายปี — ส่งทีละปีก็ได้
ส่งปี 2022 ก่อน ให้ AI แปลง แล้วบอกว่า "เพิ่มข้อมูลปี 2023 เข้าไปใน JSON เดิม" AI จะ merge ให้อัตโนมัติ

ขั้นตอนที่ 2 — Prompt ตรวจสอบ JSON (ส่งต่อทันที):

ส่งต่อทันทีหลังได้ JSON จากขั้นตอนที่ 1
ตรวจสอบ JSON ที่เพิ่งสร้างขึ้น และรายงานผลดังนี้: 1. ข้อมูลครบถ้วนหรือไม่? ระบุ field ที่ขาดหายไป 2. ตัวเลขสอดคล้องกันหรือไม่? gross_profit = revenue - cogs 3. หน่วยและ currency สม่ำเสมอทุกปีหรือไม่? 4. มี outlier ที่ควรตรวจสอบ? (เปลี่ยนแปลงเกิน ±50% YoY) 5. JSON parse ได้ถูกต้องหรือไม่? ถ้าพบปัญหา: แก้ไขใน JSON และระบุใน data_quality_notes [วาง JSON จากขั้นตอนที่ 1 ที่นี่]
⚠️
ต้อง verify ตัวเลขสำคัญด้วยตัวเองเสมอ
AI อาจอ่านตัวเลขผิดจาก PDF ได้ ให้ cross-check Revenue, Net Income, Total Assets กับเอกสารต้นฉบับก่อน save ลงไฟล์
Phase 2 — ขอ Prompt จาก Chat AI
05
ขอ Prompt จาก Chat AI
How to Generate Agent Prompts via Chat

แทนที่จะเขียน Prompt เองจากศูนย์ ให้ใช้ Chat AI (เช่น Claude, ChatGPT) ช่วยสร้าง Prompt ที่เหมาะกับข้อมูลของคุณ วิธีนี้ได้ผลดีกว่าใช้ Prompt สำเร็จรูปทั่วไป เพราะ Prompt จะถูกปรับให้เข้ากับบริษัท อุตสาหกรรม และเป้าหมายของคุณโดยเฉพาะ

1
บอก Context ก่อนเสมอ

บอกว่ากำลังทำอะไร บริษัทอยู่ในอุตสาหกรรมอะไร มีข้อมูลกี่ปี และเป้าหมายการวิเคราะห์คืออะไร

2
แนบตัวอย่างโครงสร้าง JSON ของคุณ

Copy ส่วนหัวของไฟล์ JSON ประมาณ 20–30 บรรทัดไปแนบใน Chat เพื่อให้ AI เห็นว่าข้อมูลหน้าตาเป็นอย่างไร

3
ขอทีละ Agent อย่าขอรวม

ขอ Prompt สำหรับ Ratio Agent ก่อน ตรวจ ปรับ แล้วค่อยขอ Trend Agent ต่อ การขอรวมกันทีเดียวมักได้ผลที่ไม่ละเอียดพอ

4
ระบุ Output Format ที่ต้องการ

บอกให้ชัดว่าต้องการผลลัพธ์เป็น JSON, Markdown table หรือรายงานร้อยแก้ว

ตัวอย่าง Message ที่ส่งให้ Chat AI เพื่อขอ Prompt สำหรับ Ratio Agent:

ส่งให้ Claude / ChatGPT (ช่อง Chat ปกติ)
บริบท: ฉันกำลังสร้าง AI Agent วิเคราะห์งบการเงินของบริษัท XYZ PCL อุตสาหกรรมอาหารและเครื่องดื่ม จดทะเบียนในตลาดหลักทรัพย์ไทย มีข้อมูล 3 ปี (2022–2024) รูปแบบ JSON สิ่งที่ต้องการ: ช่วยเขียน System Prompt สำหรับ "Ratio Analysis Agent" โดย: 1. กำหนด role อย่างชัดเจน 2. ระบุอัตราส่วนทั้งหมดที่ต้องคำนวณ พร้อมสูตร 3. Output เป็น JSON ที่ชัดเจน 4. Flag เมื่ออัตราส่วนผิดปกติจากค่ามาตรฐานอุตสาหกรรม [แนบตัวอย่าง JSON ของคุณที่นี่]
เทคนิค: ให้ AI ถามกลับก่อน
เพิ่มท้าย Message ว่า "ก่อนเขียน Prompt ช่วยถามฉัน 3–5 คำถามก่อน" วิธีนี้ช่วยให้ได้ Prompt ที่แม่นยำกว่ามาก
Phase 3 — สั่งงาน Agent
06
นำ Prompt ไปสั่งงาน Agent
Running the Agent — ลำดับที่ถูกต้อง

เมื่อเตรียมข้อมูลและ Prompt ครบแล้ว ให้รัน Agent ตามลำดับนี้เสมอ เพราะผลลัพธ์ของ Agent ก่อนหน้าจะถูกส่งต่อให้ Agent ถัดไป

1
Ratio Agent — คำนวณอัตราส่วน

ส่ง System Prompt + combined_3yr.json รับผลเป็น JSON บันทึกที่ output/ratio_result.json

2
Trend Agent — วิเคราะห์แนวโน้ม

ส่ง Prompt + ข้อมูลเดิม + ผลจาก Ratio Agent เข้าวิเคราะห์ YoY ตรวจสอบผลก่อน save

3
Risk Agent — ประเมินความเสี่ยง

ส่ง Prompt พร้อมผลจาก Ratio และ Trend Agent เพื่อประเมินความเสี่ยงในมิติต่างๆ

4
Synthesis Agent — สรุปรายงาน

ส่ง Prompt สรุปพร้อมผลจากทุก Agent และคำถามเฉพาะของผู้ใช้ รับผลเป็นรายงานสมบูรณ์

โครงสร้าง API Call สำหรับ Ratio Agent
{ "model": "claude-sonnet-4-5", "system": [เนื้อหาจากไฟล์ prompts/01_ratio_agent.md], "messages": [{ "role": "user", "content": [ { "type": "text", "text": "วิเคราะห์งบการเงินต่อไปนี้:" }, { "type": "text", "text": [เนื้อหา combined_3yr.json] } ] }] }
🔄
ถ้ายังไม่มี API — ใช้ Chat แทนได้
Copy Prompt + JSON เข้า Claude หรือ ChatGPT ทีละ Agent แล้ว Copy ผลลัพธ์ไปใส่ Agent ถัดไป วิธีนี้ช่วยทดสอบ Prompt ก่อนลงทุนเขียน Code
07
Checklist ก่อนเริ่มทุกครั้ง
Pre-flight Checklist

พิมพ์รายการนี้ไว้ใช้ทุกครั้งที่เริ่มโปรเจกต์วิเคราะห์งบการเงิน

รายการตรวจสอบ หมายเหตุ
โฟลเดอร์ครบ: raw/, processed/, reference/, prompts/, output/ไม่มีไฟล์งบหลุดที่ root
มีข้อมูลครบ 3 งบหลัก: Income / Balance / Cash Flowขาดงบใดงบหนึ่ง คำนวณอัตราส่วนบางตัวไม่ได้
ข้อมูลอย่างน้อย 3 ปี (แนะนำ 5 ปี)น้อยกว่า 3 ปี วิเคราะห์ trend ไม่ได้
Unit และ Currency ระบุใน JSON แล้ว"unit": "million" ระบุให้ชัด
ชื่อ key ใน JSON สม่ำเสมอทุกปี"revenue" ทุกปี ไม่บางปีเป็น "total_revenue"
ไม่มี null โดยไม่ทราบสาเหตุถ้า null ต้องมี comment อธิบาย
มี data_dictionary.md อธิบายทุก fieldโดยเฉพาะถ้าคำนวณตัวเลขบางตัวเอง
Prompt ทุกตัว save ลงใน prompts/ แล้วพร้อม version และวันที่ใน filename
ทดสอบ Prompt กับข้อมูลตัวอย่างแล้วผลลัพธ์ parse ได้เป็น JSON ถูกต้อง
08
เคล็ดลับและข้อควรระวัง
Tips, Pitfalls & Best Practices
🎯
เริ่มจากคำถามที่ชัดเจนก่อนเสมอ
ก่อนส่งข้อมูลให้ Agent ตอบตัวเองก่อนว่า "ฉันต้องการรู้อะไรจากงบนี้?" Prompt ที่ดีต้องมาจากคำถามที่ชัดเจน ไม่ใช่แค่ "ช่วยวิเคราะห์งบให้ด้วย"
⚠️
อย่า Trust ผลลัพธ์โดยไม่ verify
AI Agent อาจคำนวณอัตราส่วนผิด หรือตีความตัวเลขคลาดเคลื่อนได้ ควร cross-check ตัวเลขสำคัญ เช่น Revenue, Net Income กับต้นฉบับก่อนนำไปใช้ตัดสินใจ
🔒
ข้อมูลที่ไม่เป็นสาธารณะ — ระวังการใช้ Cloud AI
ถ้างบการเงินยังไม่ได้ publish สาธารณะ หรือเป็นข้อมูลภายในองค์กร ควรใช้ Local LLM (เช่น Ollama) แทนการส่งไป Cloud API เพื่อป้องกันการรั่วไหลของข้อมูล
📈
Iterate — ปรับ Prompt หลังได้ผลแรก
ผล Run แรกมักไม่สมบูรณ์แบบ ให้บันทึกว่า Agent ตอบอะไรไม่ได้หรือตอบผิด แล้วนำกลับไปปรับ Prompt ก่อน run รอบสอง Prompt Engineering เป็น Iterative process ไม่ใช่ทำครั้งเดียวแล้วจบ


PHP CI MANIA - PHP Code Generator 

โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม"
ราคาสุดคุ้ม  
http://www.phpcodemania.com

ความคิดเห็น

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

บทความที่นิยมสูงสุด ประจำปี

แจกโค้ด 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...

การทำ Index ให้ MySQL Database เพื่อเพิ่มความเร็ว

สำหรับตัวอย่างนี้จะเป็นการ JOIN ตาราง 2 ตาราง 1. tb_reject_hd 2. tb_reject_desc ซึ่งจะเชื่อมกันด้วยฟิลด์ docno จะเห็นว่าเราสามารถคิวรี่เรียกข้อมูลออกมาได้ตอนที่ยังไม่ใส่ ORDER BY แต่เมื่อใส่ ORDER BY เข้าไป จะหมุนค้างจนหน้าเว็บหยุดทำงาน จากนั้นก็ลองเพิ่ม INDEX ให้กับฟิลด์ docno ในตาราง tb_reject_desc  ซึ่งในตัวอย่างนี้จะสร้างตารางใหม่ขึ้นมาจากตารางเดิม เปลี่ยนชื่อเป็น tb_reject_desc_with_index และทำการเพิ่ม INDEX KEY เข้าไป เมื่อทดสอบคิวรี่แบบมี ORDER BY จะเห็นว่าสามารถแสดงผลได้ทันที จากการสังเกตตัวเลขเวลาในการประมวลผล จะเห็นได้ว่าแบบไม่ใช้ ORDER BY จะทำงานเร็วกว่า แต่ในการทำงานส่วนใหญ่ก็มักจะต้องใช้ ORDER BY อย่างหลีกเลี่ยงไม่ได้ เช่นกรณีค้นหา แบบเรียงลำดับ ตัวอย่างโค้ดคิวรี่ข้อมูลจากตารางที่ Add Index Key แล้ว <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>Add Index Key</title> </head> <body> <h2>ORDER BY with ...

PHP CI MANIA 0.8.4.09 แก้ไขปัญหา Import ไฟล์ Excel แล้วไม่สามารถบันทึกได้ + เพิ่มตัวเลือก Validate บางฟิลด์

- เพิ่มตัวเลือก Validate บางฟิลด์ กรณีละเว้นการตรวจสอบให้เอาเครื่องหมายเช็คถูกออก -  แก้ไขปัญหา Import ไฟล์ Excel แล้วไม่สามารถบันทึกได้ สมาชิก Premium ดาวน์โหลดได้ที่ http://fastcoding.phpcodemania.com/index.php/downloads PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    http://fastcoding.phpcodemania.com

การสร้างเว็บไซต์ในปี 2023 นั้นจะต้องคำนึงถึงอะไรบ้าง

การสร้างเว็บไซต์ในปี 2023 นั้นจะต้องคำนึงถึงความเปลี่ยนแปลงของเทคโนโลยีและแนวโน้มการใช้งานของผู้ใช้ใหม่ๆ ดังนั้น นี่คือเทคนิคที่สามารถช่วยให้การสร้างเว็บไซต์ในปี 2023 เป็นไปได้อย่างรวดเร็วและเป็นประสิทธิภาพ: 1. ใช้ Responsive Design: การออกแบบเว็บไซต์ให้สามารถปรับขนาดได้ตามขนาดของหน้าจอของอุปกรณ์ต่างๆ เช่น โทรศัพท์มือถือ แท็บเล็ต และคอมพิวเตอร์ เพื่อให้ผู้ใช้สามารถเข้าถึงและใช้งานได้ง่ายและสะดวก 2. ใช้โครงสร้างของ HTML5: การใช้โครงสร้าง HTML5 จะช่วยให้เว็บไซต์ของคุณมีประสิทธิภาพและปรับปรุงในเรื่องของการเข้าถึงข้อมูล การใช้งานและความปลอดภัย 3. ใช้ CSS Grids หรือ Flexbox: การใช้ CSS Grids หรือ Flexbox จะช่วยให้ง่ายต่อการจัดหน้าเว็บไซต์ และสามารถปรับแต่งรูปแบบของเว็บไซต์ได้ง่ายขึ้น 4. ใช้ JavaScript Frameworks: การใช้ JavaScript Frameworks เช่น React, Angular, หรือ Vue.js จะช่วยให้สามารถสร้างเว็บไซต์ที่เป็น interactive และมีประสิทธิภาพได้อย่างรวดเร็ว 5. ใช้ Content Management Systems (CMS): การใช้ CMS เช่น WordPress, Joomla, หรือ Drupal จะช่วยให้สามารถสร้างเว็บไซต์ได้อย่างร PHP  C...

PHP + Fullcalendar กับ MySQL

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

จัดระเบียบโค้ด ใน 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 ระบบบริหารจัดการ พล็อตนิยาย - ตอนที่ 1

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

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 จะต้...

แก้ปัญหา Xampp เข้าผ่าน IP จากเครื่องอื่นไม่ได้ โดยการเปิด Firewall เชื่อมต่อ httpd ได้

กรณีที่ติดตั้ง Xampp แล้วเปิดจากเครื่องอื่นๆผ่าน IP ไม่ได้ ให้ทำการเปิด Firewall ในเครื่องที่ติดตั้ง xampp เพื่ออนุญาตให้เครื่องอื่นเข้าถึงได้ คลิกเมนู ค้นหา แล้วพิมพ์คำว่า firewall แล้วเลือกเมนู Firewall & network protection คลิกที่เมนู Allow an app through firewall คลิกที่ปุ่ม Change settings เลือกทั้ง Private และ Public (ถ้าไม่มีให้กดที่ปุ่ม Allow another app... เพื่อเพิ่ม httpd.exe ใน Path เฉพาะของเรา กรณีที่ไม่ได้ติดตั้ง) (สามารถเปิดดูรายละเอียด Path ของรายการที่แสดงได้ โดยคลิกปุ่ม Details...)   จากนั้นกด OK   ลองเข้าจากอีกเครื่องด้วย IP อีกครั้ง ก็จะพบว่าสามารถเข้าถึงหน้าเว็บที่ต้องการได้เรียบร้อย ที่มา : https://www.youtube.com/watch?v=KIYpkDy34DY   บทความที่เกี่ยวข้อง แก้ปัญหาการเปิด Firewall ทำให้ Client เชื่อมต่อ MySQL ไม่ได้ https://phpcodemania.blogspot.com/2021/04/xampp-ip-firewall-httpd.html   PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    http://fastcoding...

ระบบวัสดุคงเหลือ - การตีราคาสินค้าคงเหลือด้วยวิธีราคาทุน (Inventory Costs Method)

การตีราคาสินค้าคงเหลือด้วยวิธีราคาทุน (Inventory Costs Method) หลังจากได้อ่านบทความในเว็บต่างๆก็สรุปได้ดังนี้ 1. FIFO เข้าก่อน-ออกก่อน เหมาะสำหรับการตัดสต๊อกที่ใช้สำหรับของที่มีวันที่หมดอายุกำกับไว้ อาจจะเนื่องด้วยพนักงานสต๊อกจะต้องคอยเช็ควันที่หมดอายุบนสินค้าเสมอๆอยู่แล้ว 2. LIFO เข้าหลัง-ออกก่อน เหมาะสำหรับการตัดสต๊อกสินค้าที่ตกเทรนเร็วแบบคอมพิวเตอร์ หรือสินค้าเทคโนโลยีอื่นๆ ซึ่งส่วนใหญ่จะทำโปรโมชั่นมาล่อตาล่อใจให้ลูกค้าซื้อรุ่นใหม่ๆ ดังนั้นพนักงานก็ต้องตัดสต๊อกตัวที่ใหม่ที่สุดออกก่อน เพราะทิ้งไว้นานไปราคาทุน ณ ปัจจุบันจะไม่ตรงกับราคาที่ขายไป 3. Weighted Average ถัวเฉลี่ยน้ำหนัก เหมาะกับสินค้าที่ไม่มีวันหมดอายุกำกับ และราคาขึ้นลงไม่มากนัก (คอมพิวเตอร์หรือสินค้าเทคโนโลยีจะขึ้นลงทีเป็นหลักร้อยหลักพัน) ซึ่งเหมาะกับการนำมาใช้ทำสต๊อกวัสดุคงเหลือของสำนักงาน ปัญหาของการใช้ Weighted Average หรือการถัวเฉลี่ยราคาทุนต่อหน่วย จะมีอยู่ 2 รูปแบบ 1. แบบ Periodic Inventory เป็นการคิดราคาทุนถัวเฉลี่ยของสินค้าคงเหลือปลายงวด นั่นก็คือ บันทึกการรับเข้าด้วยราคาต่อหน่...

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

แจกโค้ด 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...

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

PHP CI MANIA : ตอนที่ 12 การใช้งานระบบสมาชิกกำหนดสิทธิ์เข้าใช้งานด้วย Login SESSION

เริ่มจากการสร้างหน้าเว็บแบบไม่กำหนดสิทธิ์ และกำหนดสิทธิ์ให้ สมาชิกเท่านั้น ที่เข้าหน้าเว็บที่กำหนดได้     1. ทดลองสร้างหน้าเว็บแบบปกติ เมื่อกำหนดชื่อต่างๆเรียบร้อย ก็คลิกสร้างไฟล์ Models, Views, JS และ Controller ให้เรียบร้อย (สำหรับ Version 0.6 จะมีปุ่ม " สร้างไฟล์ทั้งหมด ")    2. จากนั้นคลิกลิงค์เพื่อดูตัวอย่าง(ในหน้า Controller) จะพบกับหน้าเว็บที่เราสร้างเอาไว้ จะเห็นว่า สามารถเข้าได้ปกติ     3. สลับไปที่หน้า "ตั้งค่า" และคลิกเลือก "Login Require" เพื่อกำหนดว่า จะเข้าหน้าเว็บนี้ได้ จะต้องผ่านการ Login ก่อนเท่านั้น จากนั้นก็คลิกสร้างไฟล์ Models, Views, JS และ Controller ให้เรียบร้อย (สำหรับ Version 0.6 จะมีปุ่ม " สร้างไฟล์ทั้งหมด ")    4. จากนั้นคลิกลิงค์เพื่อดูตัวอย่าง(ในหน้า Controller) จะพบกับหน้าเว็บที่ ต้อง Login ก่อน จึงจะสามารถเข้าใช้งานได้    สำหรับ รหัสที่ใช้ทดสอบ นั้นได้กำหนดค่าเบื้องต้นไว้ให้ดังนี้    - Admin     ใช้ชื่อล็อกอิน admin รหัสผ่าน 123456     -...

จัดระเบียบโค้ด ใน 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

phpMyAdmin ขั้นตอนการกำหนด UNIQUE KEY ให้กับตาราง MySQL ที่ฟิลด์ต้องไม่ซ้ำกัน

ถ้าใช้เครื่องมือจัดการฐานข้อมูลด้วย phpMyAdmin การจะกำหนดให้ฟิลด์ที่มีค่าไม่ซ้ำกันเป็น UNIQUE KEY นั้นจะสามารถทำได้ดังต่อไปนี้ 1. คลิกที่แท็ป Structure เพื่อปรับแต่งโครงสร้างตาราง เลื่อนไปยังด้านล่าง จะมีส่วนของการกำหนด Indexes เราจะเพิ่มแก้ไขฟิลด์ให้เป็น PRIMARY หรือ UNIQUE ได้จากการกดปุ่ม Go 2. ตั้งชื่อ Index เลือกประเภทเป็น UNIQUE และระบุฟิลด์ที่ต้องการ จากนั้นก็กดปุ่ม GO 3. เมื่อการเพิ่ม UNIQUE เรียบร้อย จะพบรายการใหม่ขึ้นมาต่อท้าย PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    4 ,500    บาท http://fastcoding.phpcodemania.com

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

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

ว่าด้วยเรื่องของคำสั่ง goto ในภาษา PHP

PHP goto example <?php goto  a ; echo  'Foo' ;   a : echo  'Bar' ; ?> ผลลัพธ์ก็คือ จะแสดงข้อความว่า " Bar" ที่มา : http://php.net/manual/en/control-structures.goto.php ตัวผมเองก็เกิดคำถามว่าเอามาใช้ทำไร??? ก็นึกขึ้นได้ว่าสมัยก่อนตอนเรียนเคยเขียน Assembly แล้วจะมีคำสั่งเพื่อกระโดดไปทำงานส่วนต่างๆ ของโค้ดที่ยาวเป็นหน้ากระดาษ A4 แต่มีผลลัพธ์เพียงเพื่องานเล็กๆงานเดียว ก็เลยคิดว่า น่าจะใช้กับโค้ดที่ยาวเป็นร้อยๆบรรทัดและไม่มีฟังก์ชั่น หรือการเรียกคลาสใดๆได้ ก็เลยลองค้นหาดูว่าคนอื่นๆ เขาใช้คำสั่ง goto ใน PHP กันบ้างหรือเปล่านะ ก็ได้คำตอบเกี่ยวกับคำสั่ง goto ใน PHP มาดังภาพด้านบนนี้แหละครับ ^^; ก็แปลได้ประมาณว่า ถ้าไม่เหนือบ่ากว่าแรงอะไรก็คงไม่จำเป็นต้องใช้หรอกครับ เพราะใน PHP เราสามารถสร้างฟังก์ชั่นและเรียกใช้เมื่อไหร่ก็ได้ สามารถใช้ switch ....  case หรือ if .... else ยาวๆเพื่อตรวจสอบเงื่อนไขการทำงานได้สะดวกสบาย ก็เลยยังมองไม่ออกว่าจะนำมาใช้ตอนไหนอย่างไร แต่ถ้าใครอยากลองเอาไปใช้ก็ไม่เสียหายแต่อย่างใดครับ ^O^

PHP + Fullcalendar กับ MySQL

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

ขั้นตอนการเปิด 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 & MySQL

1. พื้นฐาน PHP     1.1  โครงสร้างการเขียน PHP ร่วมกับ HTML     1 .2  Selection Structure : การเขียนโปรแกรมแบบทางเลือก     1. 3  ตัวแปร (Variable) และ ค่าคงที่ (Constant)     1.4  ตัวดำเนินการ (Operator)     1.5  เครื่องหมาย Single Quote / Double Quote และ Escape Sequence     1.6  Repetition Structure (การเขียนโปรแกรมวนซ้ำ)          1.7  การแทรกโค้ PHP ส่วนต่างๆของ HTML     1.8  PHP Function 2. PHP MySQLi CRUD : การจัดการฐานข้อมูล MySQL เบื้องต้น      2.1 : การบันทึกข้อมูลด้วย MySQLi Function      2.2 การค้นหาและแสดงข้อมูลในรูปแบบตาราง 1/2     2.3  การค้นหาและแสดงข้อมูลในรูปแบบตาราง 2/2      2. 4 การแก้ไขข้อมูลด้วยคำสั่ง UPDATE     2. 5 การลบข้อมูลจากฐานข้อมูล     2. 6 การป้องกัน SQL Injection ด้วยการใช้ prepare และ bindparam           2.7 กา...