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

บทความ

กำลังแสดงโพสต์จาก ธันวาคม, 2018

PHP CI MANIA - ตัวอย่างการเปลี่ยน Drop-down List ของจังหวัด เมื่อเลือก ภาค (Option List)

สำหรับการทำงานของโค้ดในตัวอย่างนี้ จะสามารถนำไปใช้ได้กับการเปลี่ยนแปลงรายการตัวเลือกใน Drop-down List ทุกตัวที่ต้องการให้มีผลกับ Drop-down List ตัวอื่นๆ เช่น 1. ในตัวอย่างนี้ เมื่อเลือกภาค ก็จะแสดงรายชื่อจังหวัด หรือ 2. นำไปดัดแปลงเป็น เมื่อเลือกจังหวัด ก็แสดงรายชื่อ อำเภอ หรือ 3. เมื่อเลือกอำเภอ ก็จะแสดงรายชื่อตำบล หรือการเลือกตัวเลือกของข้อมูลต่างๆที่มีลำดับชั้น เช่น แผนก ฝ่าย เป็นต้น ลำดับขั้นตอนการแก้ไขโค้ดหลังจากที่เราใช้ PHP CI MANIA ทำการ Generate ไฟล์หน้าเว็บออกมาเรียบร้อยแล้ว ให้แก้ส่วนต่างๆดังนี้ 1. เพิ่ม action ใน javascript เพื่อส่ง AJAX ไปดึงข้อมูลจาก... 2. Controller เขียนฟังก์ชั่นเรียกข้อมูลจากตารางที่ต้องการ เช่น ส่งไอดีภาค เข้ามาก็ไปดึง ข้อมูลจังหวัดที่ตรงกับไอดีภาคนั้นๆ โดยเรียกจาก... 3. Model ซึ่งจะกำดึงข้อมูลตามเงื่อนไขโดยอ้างอิงฟังก์ชั่นใน MY_Model ก็จะไม่ได้เขียนอะไรมากเท่าไหร่ แค่ระบุชื่อตารางให้ตรงก็พอ 1. สร้าง Action ให้ทำงานเมื่อ <select> ของภาคเปลี่ยนแปลง ก่อนอื่นให้ตรวจสอบ id ที่ต้องการ 2. เมื่อได้ id ของ <select>...

คำสั่ง SQL สำหรับสร้างฐานข้อมูลตัวอย่าง ระบบจัดการข้อมูลนักเรียนด้วย PHP CI MANIA

PHP CI MANIA - ระบบบริหารจัดการข้อมูลนักเรียน [ SQL Code ] -- Dumping database structure for demo_db_student CREATE DATABASE IF NOT EXISTS `demo_db_student` /*!40100 DEFAULT CHARACTER SET utf8 */; USE `demo_db_student`; -- Dumping structure for table demo_db_student.ci_sessions CREATE TABLE IF NOT EXISTS `ci_sessions` (   `id` varchar(128) NOT NULL,   `ip_address` varchar(45) NOT NULL,   `timestamp` int(10) unsigned NOT NULL DEFAULT '0',   `data` blob NOT NULL,   PRIMARY KEY (`id`,`ip_address`),   KEY `ci_sessions_timestamp` (`timestamp`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Dumping data for table demo_db_student.ci_sessions: ~12 rows (approximately) /*!40000 ALTER TABLE `ci_sessions` DISABLE KEYS */; INSERT INTO `ci_sessions` (`id`, `ip_address`, `timestamp`, `data`) VALUES     ('0dss0kb4hds4iv653gk1lhbl9s1bcphf', '::1', 1544667484, _binary 0x5F5F63695F6C6173745F726567656E65726174657C693A3135343436363734...

HeidiSQL การ Import ฐานข้อมูลจากไฟล์ SQL

1. เลือกฐานข้อมูลที่ต้องการ 2. คลิกเมนู File > Run SQL file.. 3. เปิดไปที่โฟลเดอร์เก็บไฟล์ .sql แล้วเลือกไฟลื จากนั้นคลิก Open 4. รอจนกว่าจะดำเนินการเรียบร้อย 5. หลังจากดำเนินการเสร็จ จะยังไม่ปรากฏตารางทั้งหมดออกมา ให้กด F5 เพื่อเรียกข้อมูลออกมา เพียงเท่านี้ก็สามารถ Import ไฟล์ขนาดใหญ่เรียบร้อย ดาวน์โหลดโปรแกรมจัดการฐานข้อมูล HeidiSQL ได้ที่ https://www.heidisql.com/ PHP  CI  MANIA   -  PHP Code Generator  โปรแกรมช่วยสร้างโค้ด ลดเวลาการเขียนโปรแกรม เขียนโปรแกรมง่ายและสะดวกขึ้น สนใจสั่งซื้อราคาสุดคุ้ม >>  http://fastcoding.phpcodemania.com/

PHP CI MANIA การกำหนดจำนวนรายการต่อหน้าใน Pagination

1. เปิดเข้าไปที่ modules ที่สร้าง Generate เรียบร้อย 2. แก้ไขตัวเลขที่ตัวแปร $this->per_page = 30; #PHPCIMANIA - PHP Page Generator http://fastcoding.phpcodemania.com ดูวิดีโอเพิ่มเติมได้ที่ >> CodeIgniter : PHP CI MANIA

แนะนำ การพัฒนา Web Application ด้วย Codeigniter Framework + bootstrap 3

คลิกเข้าไปดูทั้งหมดของเพลลิสต์ที่นี่

กด Start ตรง mysql ใน XAMPP ไม่ได้ แก้ไขยังไงดี?

ข้อความ Error ที่ปรากฏดังนี้ 6:37:41  [mysql] This may be due to a blocked port, missing dependencies, 6:37:41  [mysql] improper privileges, a crash, or a shutdown by another method. 6:37:41  [mysql] Press the Logs button to view error logs and check 6:37:41  [mysql] the Windows Event Viewer for more clues 6:37:41  [mysql] If you need more help, copy and post this 6:37:41  [mysql] entire log window on the forums ต้องบอกก่อนว่าเคสนี้เกิดขึ้นเมื่อผมรัน XAMPP แบบ Portable แล้วดันไปขยับสาย USB การเชื่อมต่อก็เลยหลุดไป หลังจากถอดสาย USB แล้วเสียบใหม่ XAMP ก็รันได้แค่ Apache อย่างที่เห็นในภาพ หลังจากนั้นสิ่งที่ทำอย่างแรกก็คือ คัดลอก Error ไปค้นในเว็บแล้วลองทำไปเรื่อยๆ จนกว่าจะหาวิธีได้ xampp MySQL does not start https://stackoverflow.com/questions/18177148/xampp-mysql-does-not-start เว็บแรกทำให้รู้ว่าน่าจะเกี่ยวกับ Port ก็เลยลองเปลี่ยนเป็นพอร์ตอื่นก็ Start ได้ทันที You also need to change port 3306 to 3307 in xampp\php\php.ini...

3 ขั้นตอน เพื่อการพัฒนาเว็บแอพพลิเคชั่นด้วย PHP ให้เสร็จเร็วยิ่งขึ้น

เขียนโปรแกรมเว็บแอพพลิเคชั่นด้วยภาษา PHP ด้วย PHP CI MANIA   เพียงแค่ 3 ขั้นตอนง่ายๆ STEP 1 เลือกตารางที่ต้องการ STEP 2 ตั้งค่าพาธเก็บไฟล์ ชื่อไฟล์ ชื่อช่องป้อนข้อมูล และ ฟังก์ชั่น PHP ที่เกี่ยวข้อง STEP 3 สร้างไฟล์ MVC ทีละส่วนจนครบ และทดสอบได้ในลิงค์แท็ป Controller มาดูขั้นตอนทั้งหมดอย่างละเอียดได้ที่คลิปนี้ ดูวิดีโอเพิ่มเติมได้ที่ >> CodeIgniter : PHP CI MANIA คู่มือ PHP CI MANIA แจก Bootstrap Template สวยๆ สำหรับใช้งานกับ PHP CI MANIA (CodeIgniter) ตัวอย่างการสร้าง ระบบบริหารจัดการข้อมูลโรงเรียน ด้วย PHP CI MANIA เขียนโปรแกรม PHP ให้เสร็จเร็วขึ้นด้วย CodeIgniter Generator สร้างระบบ CRUD อัตโนมัติพร้อมใช้งาน วิธีซื้อแบบ จ่ายสบายกระเป๋าด้วยการ อัพเกรดทีละเวอร์ชั่น

วิธีเขียนโปรแกรม PHP ให้งานเสร็จเร็วขึ้นด้วย PHP CI MANIA - CodeIgniter Generator

เป็นคำถามที่เมื่อก่อนผมตอบค่อนข้างยากนะครับ แต่เดี๋ยวนี้ถ้าใครถาม ผมก็จะบอกว่า ลองกดถูกใจและติดตามเพจของผมไว้นะครับ แล้วจะเจอเครื่องมือใหม่ๆ ที่ทำให้งานคุณเสร็จเร็วขึ้นกว่าเดิมอย่างแน่นอน และขั้นตอนการใช้งานเจ้าเครื่องมือที่ชื่อว่า " PHP CI MANIA " ก็มีดังต่อไปนี้ Download & Install สนใจสั่งซื้อและดาวน์โหลดได้ที่  http://fastcoding.phpcodemania.com PHP CI MANIA ตอนที่ 1 : ออกแบบฐานข้อมูลเพื่อการ Generate Code ที่ง่ายขึ้น PHP CI MANIA ตอนที่ 2 : เริ่มต้นสร้างหน้าเว็บ การตั้งค่าส่วนต่างๆ ก่อน Generate PHP CI MANIA ตอนที่ 3 : สร้างลิงค์เพื่อเปิดหน้าเว็บไปยัง Module ที่คัดลอกมา ดูวิดีโอเพิ่มเติมได้ที่ >> CodeIgniter : PHP CI MANIA  

PHP CI MANIA ตอนที่ 1 - ติดตั้งและใช้งาน PHP Code Generator โปรแกรมสร้างโค้ดอัตโนมัติ (PHP Web Generator)

PHP Code Generator ตอนที่ 1 - ติดตั้งและใช้งาน ตัว Generate โค้ดอัตโนมัติ PHP CI MANIA แนะนำขั้นตอนการดาวน์โหลด และติดตั้งเพื่อเริ่มใช้งาน วิธีติดตั้งและใช้งานเบื้องต้น        (เวอร์ชั่น Premium) 1. คลายซิป จะได้โฟลเดอร์ดังนี้      1.1 phpcimania_ pro / advance / expert  สำหรับใช้ Generate Code      1.2 create_db_ci_gen.sql   ไฟล์ SQL สำหรับสร้างฐานข้อมูลของระบบ PHP CI MANIA      1.3 example_project  สำหรับทดสอบโค้ด หรือนำมาเป็นตัวอย่างเริ่มต้นโปรเจ็กต์ CodeIgniter 3 + SB Admin (Bootstrap template)     1.4  create_demo_db_student.sql ฐานข้อมูลสำหรับ example_project (เวอร์ชั่น Premium)     1.5  example_expert  ระบบสมาชิกแบบมีอีเมล ระบบรีเซ็ตลืมรหัสผ่าน     1.6 db_school_management_for_expert.sql ฐานข้อมูลตัวอย่าง example_expert   2. นำโฟลเดอร์ที่ได้ไปวางใน Document root ของเว็บเซิร์ฟเวอร์ที่ใช้งาน (กรณีใช้ xampp ก็คือโฟลเดอร์ htdocs ) ...

ค้นหาในเว็บไซต์

เนื้อเพลงที่ได้รับความนิยม ในรอบสัปดาห์

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

การทำ 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 ...

การสร้างเว็บไซต์ในปี 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 : รวมลิงค์ แจกฟรี!! ตัวอย่างโปรเจ็กต์ ที่พัฒนาด้วย 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...

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

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. รายชื่อตัวละครในนิยา...

CodeIgniter PDF ตอนที่ 2 : กรอกข้อมูลลงในแบบฟอร์ม PDF

      จากความเดิมตอนที่แล้ว " PHP PDF ตอนที่ 1 : ออกรายงานเอกสาร PDF ด้วย PHP CodeIgniter โดยใช้ไลบรารี่ TCPDF และ FPD " ในตอนนี้เรามาลองสร้างข้อมูลทดสอบกันสักหน้าละกันนะครับ ก่อนที่จะนำเข้าสู่การสร้างฐานข้อมูลเพื่อใช้กับข้อมูลทะเบียนนักเรียนของเรา และจะต่อยอดไปถึงระบบบันทึกข้อมูลผลการประเมินแบบออนไลน์กันเลยทีเดียว ^^ 1. เริ่มต้นจากการเตรียมไลบราลี่ PDF ที่ต้องใช้ทั้งหมด 2 ตัวด้วยกัน     1) TCPDF     2) FPDI     (จะนำไปไว้ในไดเรกทอรี่ application/third_party ของ codeigniter) 2. จากนั้นก็เตรียมโปรเจ็กต์ด้วย CodeIgniter ด้วยโปรแกรมที่ใช้เขียนโค๊ด (IDE) ที่ชื่อว่า eclipse ซึ่งในส่วนนี้ใครถนัดโปรแกรมไหน จะใช้อะไรเขียนโค๊ดก็ตามสะดวกเลยครับ 3. สร้างไฟล์ Pdf.php ในไดเรกทอรี่ libralies เพื่อเรียกใช้ไลบราลี่ TCPDF และ FPDI    libraries/Pfd.php <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); require_once APPPATH.'third_party/tcpdf/tcpdf.php'; require_once ...

ออกแบบระบบ Login อย่างง่ายด้วย CodeIgniter Framework

โครงสร้างการจัดวางไฟล์ application/ ├── controllers/ │   └── Member_login.php ├── models/ │   └── Member_login_model.php ├── views/ │   └── member_login/ │       └── login_view.php ส่วนของฟอร์ม HTML ( View ) <div class="container"> <h2>Login</h2> <?php if($this->session->flashdata('error_message')): ?> <div class="alert alert-danger"> <?php echo $this->session->flashdata('error_message'); ?> </div> <?php endif; ?> <?php echo form_open('member_login/login'); ?> <div class="form-group"> <label for="username">Username:</label> <input type="text" class="form-control" id="username" name="username"> </div> <div class="form-group"> <label for="password">Password:</label> <input type="password" class=...

SELECT ซ้อน SELECT (GROUP BY, HAVING, SUBQuery, COUNT)

เมื่อต้องการนับจำนวนรายการตามเงื่อนไข แต่ก็จำเป็นต้องใช้ GROUP BY เพราะการใช้ COUNT + DISTINCT ไม่สามารถดึงข้อมูลตามเงื่อนไขได้  อยากจะนับจำนวนสมาชิกที่ชำร ะเงิน ถ้าใช้ COUNT() ก็จะออกมาหมด ทำให้ได้จำนวนเกินจากความเป ็นจริง เพราะสมาชิกบางคนชำระมากกว่ า 1 ครั้ง ก็เลยต้องเอามา GROUP กันด้วย รหัสสมาชิกก่อน เพื่อตัดเรคอร์ดที่ซ้ำกันออ กไป สมาชิกจะชำระกี่ครั้ง ก็นับเป็น 1 คน (เพราะเป็นสมาชิกคนเดียวกัน ) จะเห็นว่า จะได้ยอดที่ถูกต้อง 139 แต่ข้อมูลมันแจกแจงรายการต้ อง 139 แถว ซึ่งเราไม่ได้อยากได้รายละเ อียด แค่อยากนับจำนวนเท่านั้นจะท ำไงล่ะทีนี้ ก็จัดการ SELECT ครอบ SELECT ไว้เลย ซึ่งก็คือการทำ SubQuery นั่นเอง ก็จะออกมาเรคอร์ดเดียว เป็นจำนวนที่ต้องการนำไปใช้ งานได้ทันที จริงๆแล้วเราใช้ DISTINCT ได้นะ ถ้าเงื่อนไขมีแค่เท่านี้ ไม่จำเป็นต้อง SubQuery ดูสิ พอนับแบบตัดรายการซ้ำกันออก ก็ได้ 139 พอดิบพอดีเลย ใช่ครับ ถ้าเงื่อนไขมีเพียงเท่านี้ก ็ใช้ได้เลย แต่ถ้ามีเงื่อนไขอื่นล่ะ??? ถ้าจะนับเฉพาะสมาชิกที่ชำระ เงินตั้งแต่ 150...

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