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

บทความ

กำลังแสดงโพสต์จาก เมษายน, 2020

CodeIgniter Generator การส่งค่าไปประมวลผลที่ Controller ด้วย AJAX เพื่อคำนวณอายุตามวันเกิดที่เลือก

ตัวอย่างการเพิ่มอีเวนต์ On Change ให้กับ DatePicker เพื่อส่งค่าวันที่ไปประมวลผลใน Controller ผ่าน AJAX เพื่อหาอายุตามวันที่เลือก เพิ่มฟังก์ชั่นที่ไฟล์ application/helpers/ci_utilities_helper.php function ci_date_diff($start_date, $end_date = ''){ if($end_date == ''){ $end_date = date('Y-m-d'); } $datetime1 = new DateTime($start_date); $datetime2 = new DateTime($end_date); $interval = $datetime1->diff($datetime2); $diff = array(); $diff['year'] = $interval->format('%y'); $diff['month'] = $interval->format('%m'); $diff['day'] = $interval->format('%d'); $diff['hour'] = $interval->format('%h'); $diff['min'] = $interval->format('%i'); $diff['second'] = $interval->format('%s'); return $diff; } เพิ่มฟังก์ชั่นใน Controller ของโมดูลที่เราสร้างขึ้นมา เช่น application/modules/test/controllers/Product.php  publ...

การเปลี่ยนแปลง Title Tag ของ Website ใน PHP CI MANIA

ตัวอย่างการเปลี่ยน Title ของหน้าเว็บในแต่ละหน้า ที่แท็ก <title></title> ในไฟล์ homepage_view.php กำหนดเป็น {page_title} การวางไว้ส่วนของฟังก์ชั่น __construct() จะมีผลกับทุกหน้าของ Controller นั้นๆ หน้าค้นหา แสดงรายการ หน้าแสดงรายละเอียด หน้าแบบฟอร์มเพิ่มข้อมูล หน้าแบบฟอร์มแก้ไขข้อมูล นอกจากที่ยกตัวอย่างมานี้ หากต้องการแสดงในหน้าอื่นๆ ก็สามารถนำไปวางไว้ในตำแหน่งก่อนที่จะถึงบรรทัด $this->render_view() PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    4,500    บาท http://fastcoding.phpcodemania.com

PHP Fast Coding สร้างฟังก์ชั่น ตรวจสอบค่าซ้ำ (UNIQUE KEY) ก่อนเพิ่มข้อมูล

เริ่มจากการเพิ่มส่วนของการเรียกฟังก์ชั่นใหม่ที่ใช้ตรวจสอบค่าซ้ำ เช่น $message .= $this->formValidateUser(); คือการตรวจสอบชื่อ User ซ้ำกันหรือไม่ สร้างฟังก์ชั่น formValidateUser() ตรวจสอบ User โดยที่เขียนเงื่อนไขการค้นหา ด้วย User ที่ผ่านค่า POST มา ถ้าพบแสดงว่าชื่อซ้ำกัน ตัวอย่างโค้ดตรวจสอบ User ซ้ำ public function formValidateUser() { $message = ''; $username = $this->input->post('username', TRUE); $this->Portfolio->set_table_name('YOUR_TABLE_USER'); $this->Portfolio->set_where("username = '$username'"); $count = $this->Portfolio->count_record(); if($count > 0){ $message .= "ชื่อ $username ซ้ำกัน"; } return $message; } หากต้องการสร้างฟังก์ชั่นที่เช็คพร้อมกันมากกว่า 1 ฟิลด์ ให้เพิ่มตัวแปรรับค่า POST และเพิ่มเงื่อนไขในส่วนของ WHERE ตามจำนวนฟิลด์ที่ต้องการ public function formValidateBooking() { $message = ''; $staff_nam...

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

CodeIgniter Generator สร้างเงื่อนไขการจัดเรียงอ้างอิงเลขตัวท้ายด้วยฟังก์ชั่น RIGHT()

เริ่มจากการกำหนดฟิลด์ที่ต้องการจัดเรียงในแท็ป Views ส่วนของตารางรายการ (list_view.php) แก้ไขโค้ดที่ Model ฟังก์ชั่น read() สำหรับการค้นหาหน้า List view $order_by = ''; if($this->order_field != ''){ $order_field = $this->order_field; $order_sort = $this->order_sort; // Order by with Function if($order_field == 'portfolio_subject'){ $order_by = "RIGHT($this->my_table.portfolio_subject, 3) $order_sort"; }else{ $order_by = " $this->my_table.$order_field $order_sort"; } } ก็จะได้การจัดเรียงด้วยเลขตัวท้าย วิดีโอตัวอย่างขั้นตอนการแก้ไขโค้ดเพื่อจัดเรียงด้วยฟังก์ชั่น RIGHT() PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    4,500    บาท http://fastcoding.phpcodemania.com

วิธีการส่งข้อมูลการตั้งค่า MVC เพื่อตรวจสอบการทำงานของ PHP CI MANIA (CodeIgniter Generator)

เมื่อการทำงานของระบบ PHP CI MANIA เกิดข้อผิดพลาด สามารถส่งข้อมูลให้แอดมินตรวจสอบได้ตามขั้นตอนดังต่อไปนี้ 1) แคปเจอร์หน้าจอการตั้งค่า MVC และ บันทึกการตั้งค่า ให้เรียบร้อย 2) ทำการ Export ตารางการตั้งค่าในฐานข้อมูล db_ci_gen ตาราง tb_ci_setting 3) ต่อด้วยการ Export ตารางที่เกี่ยวข้องกับการ Generate ครั้งนั้นทั้งหมดมาพร้อมกันด้วย (ซึ่งตารางที่เกี่ยวข้อง จะอยู่กับฐานข้อมูลใดๆ ที่อาจจะไม่ใช่ db_ci_gen ให้ระบุชื่อฐานข้อมูลมาด้วย) เมื่อได้ไฟล์ 3 ส่วนนี้แล้ว ให้ส่งไปที่อีเมล sunzandesign@gmail.com  หรือส่งผ่าน Messenger ที่เพจ  facebook.com/ToBeDeveloper ขั้นตอนการส่งโค้ดจากระบบ PHP CI MANIA ให้แอดมินตรวจสอบ (กรณีที่ไม่ได้ Error จากการ Generate) PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    4,500    บาท http://fastcoding.phpcodemania.com

ตัวอย่างการปรับแต่ง ความกว้าง-ความสูง ของ Select Box ใน PHP CI MANIA (CodeIgniter + Bootstrap + Select2) (Option List)

ตัวอย่างการปรับแต่งความกว้างของ Select Box ที่ทำงานกับ Select2() ค่าเริ่มต้นในระบบ PHP CI MANIA จะกำหนดเป็น Auto คือปรับขนาดตามข้อมูลที่แสดง ดังนั้น ความกว้างจะสั้นยาว ไม่คงที่แล้วแต่ข้อมูลที่เลือก หากต้องการกำหนดค่าคงที่ ให้ปรับเปลี่ยนโดยการค้นหา setDropdownList() หรือค้นหาชื่อ Select box ตัวนั้นๆ เพราะอาจจะมีการกำหนดหลายที่ด้วยคำสั่ง select2() เพิ่มเติม หลังจากทดลองใส่พารามิเตอร์ตัวที่สอง เป็นความยาว 600 เมื่อบันทึก และกลับมารีเฟรชที่หน้าเว็บก็จะพบว่าความกว้างของ Select box ได้เปลี่ยนแปลงตามต้องการ สำหรับการปรับความสูง ใช้ CSS กำหนดดังนี้ /* Select2 */ .select2-container .select2-choice { height: 38px; line-height: 36px; } .select2-container .select2-choice .select2-arrow b { background-position: 0 5px; } ถ้าจะให้มีผลทุกที่ ให้ใส่ไว้ที่ Template ที่เราใช้งานเช่น ไฟล์ template/ sb-admin-bs4 /homepage_view.php sb-admin-bs4  คือโฟลเดอร์ Template ที่เลือกใช้ homepage_view.php   คือไฟล์ที่เป็นหน้า Homepage หลักของเรามีผลกับทุกหน้า ...

Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini

วิธีแก้ไขค่า max_input_vars  ใน XAMPP ที่ Control Panel ของ XAMP คลิกที่ปุ่ม Config แล้วเลือก PHP (php.ini) หลังจาก Text Editor เปิดขึ้นมาก็เปิดการค้นหา ค้นหาด้วยคำว่า  max_input_vars   ให้เอาช่องว่างและเครื่องหมาย ; ด้านหน้าออกไป และเปลี่ยนตัวเลขด้านหลังให้เป็นค่าที่ต้องการ จะเพิ่มทีละเท่าไหร่ก็ได้ จากนั้นก็ทำการ Save และ Stop / Start การทำงานของ XAMP อีกครั้งก็เป็นอันเรียบร้อยครับ PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    4,500    บาท http://fastcoding.phpcodemania.com

การเปลี่ยนหน้าด้วยคำสั่งใน JavaScript ใน PHP CI MANIA

การเปลี่ยนหน้าด้วยคำสั่งใน JavaScript จะใช้วิธีการแทรกคำสั่งเปลี่ยนหน้า ไปยังจุดที่ทำงานเสร็จเรียบร้อย window.location = site_url('student/address'); สังเกตว่าถ้าเป็น Ajax จะอยู่ในฟังก์ชั่น success:  และถ้าเป็นหลังจากบันทึกเรียบร้อย ก็จะต้องอยู่หลังจากตรวจสอบว่าเรียบร้อยแล้วจริงๆ if( results.is_successful ){        window.location = site_url('student/address'); } PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    4,500    บาท http://fastcoding.phpcodemania.com

การแสดงคำสั่ง SQL ที่คิวรี่ล่าสุด ใน CodeIgniter

ตัวอย่างนี้เป็นการแสดงคำสั่ง SQL ในหน้าค้นหารายการ ซึ่งจะอยู่ใน Model ฟังก์ชั่น  read() หากต้องการแสดงคำสั่ง SQL ที่จุดใดก็ตาม เพียงแค่นำคำสั่ง echo $this->db->last_query(); ไปวางต่อจากบรรทัดที่ Query ก็จะได้ข้อมูลออกมาดังในภาพแรก PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    4,500    บาท http://fastcoding.phpcodemania.com

Ajax select OnChange การสร้าง option list และนำไปแสดงผลใน Select box ตัวที่กำหนด ( CodeIgniter )

Ajax select OnChange การสร้าง option list และนำไปแสดงผลใน Select box ตัวที่กำหนด ( CodeIgniter ) PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    4,500    บาท http://fastcoding.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...

แก้ปัญหา 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...

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

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 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     -...

การส่งค่าผ่านแบบฟอร์มและลิงค์ไปยังไฟล์ PHP และการรับค่าผ่านตัวแปรต่างๆ

การรับค่าจากแบบฟอร์มนั้น PHP จะใช้ตัวแปรอยู่ 3 แบบด้วยกัน คือ  $_GET, $_POST, $_REQUEST ซึ่งแต่ละแบบจะมีการส่งค่าดังนี้ 1. $_GET จะส่งค่าผ่าน URL เราจะเห็นพารามิเตอร์ที่ส่งไปต่อท้าย URL ของหน้านั้นๆ 2. $_POST จะส่งแบบไม่แสดงพารามิเตอร์ให้เห็นส่วนใหญ่จะใช้กับการส่งค่าใน HTML FORM 3. $_REQUEST จะเป็นตัวแปรที่ใช้รับค่าได้ทั้งที่ส่งมาแบบ $_GET และ $_POST สำหรับขั้นตอนการค้นหาข้อมูลเพื่อนำมาทดสอบ เราจะใช้คีย์เวิร์ดดังนี้ เข้าไปที่เว็บไซต์ www.google.co.th แล้วค้นหาคำว่า "php การรับค่า ฟอร์ม" จากนั้นก็ลองนำซอร์สโค๊ดตัวอย่างมาทดลองดูว่าได้ผลอย่างไรบ้างและแตกต่างกันอย่างไร การส่งค่าผ่าน HTML FORM และ เมนูลิงค์ต่างๆ <html>    <head>        <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />        <title>ทดสอบ การรับค่าผ่านฟอร์ม คำนวณพื้นที่สี่เหลี่ยม</title>    </head>    <body>    | <a href="form-reque...

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

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

PHP CI MANIA : ตอนที่ 11 วิธีสร้างแบบฟอร์มบันทึกข้อมูลแบบ Master - Detail เพิ่ม/ลบ/แก้ไข รายการย่อยได้

การสร้างแบบฟอร์มแบบ Master & Detail ก็คือการทำงานกับตาราง 2 ตาราง โดยที่จะมีการบันทึกข้อมูลหลักส่วนที่ 1 และมีแบบฟอร์มสำหรับบันทึกข้อมูลรายการ ในส่วนที่ 2 ดังภาพ ส่วนของการตั้งค่าจะอยู่ในแท็ป " ตั้งค่า" ส่วนที่ 4 ด้านล่างสุด "ข้อมูลตารางรายการ (Detail)" 1. เลือกตารางที่จะใช้บันทึกรายการ เช่นหน้าเว็บนี้คือการบันทึกประวัติ Resume ดังนั้นก็จะมีตารางเก็บผลงานต่างๆ นั่นก็คือตาราง tb_portfolio ที่เลือกในภาพ 2. จะปรากฏข้อมูลฟิลด์ของตารางที่เลือกเพิ่มมาด้านล่าง 3. ดูในส่วนของตารางหลัก (Master) ใน tb_resume จะมีฟิลด์ที่เป็น Primary Key ชื่อว่า resume_id ดังที่เลือกไว้ในภาพ 4. จากนั้นก็ย้ายมาด้านตารางรายการ (Detail) เราจะต้องเลือก Foreign Key หรือง่ายๆก็คือ เลือกฟิลด์ที่เราจะเอาไอดีของตารางหลัก มาใส่อ้างอิงในแต่ละรายการนั่นเอง 5. หลังจากนั้นก็กำหนดรูปแบบช่อง INPUT เหมือนกับที่กำหนดให้ตารางหลัก ในบทที่ผ่านๆมา คือ ช่องวันที่ ช่องอัพโหลดไฟล์ ช่องตัวเลข หรือการ JOIN ต่างๆ 6. หลังจากนั้นให้คลิกสร้างไฟล์ Models, Views, JS และ Controller...

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

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