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

บทความ

กำลังแสดงโพสต์จาก มิถุนายน, 2020

PHP CI MANIA 0.8.4.4 การนำโค้ดไปใช้กับ CodeIgniter 3 เวอร์ชั่นล่าสุด

ขั้นตอนการนำโค้ดจาก Project เดิมที่เป็น CodeIgniter 3 เวอร์ชั่นเก่า ไปใช้ในเวอร์ชั่น 3.1.11 1. ดาวน์โหลดที่  http://www.codeigniter.com 2. คลายซิปไปยังโฟลเดอร์ที่เก็บโปรเจ็กต์ของเรา 3. ซึ่งถ้าใช้ XAMPP แบบติดตั้งปกติจะอยู่ที่ C:\xampp\htdocs 4. จากนั้นก็เปลี่ยนชื่อเป็น Project ที่ต้องการ 5. คัดลอกไฟล์จาก Project ที่เป็น CodeIgniter 3  เวอร์ชั่นเก่าไปยัง CodeIgniter 3 เวอร์ชั่นใหม่ โดยเริ่มจาก application/config เลือกไฟล์ตามในภาพ 6. ต่อมาก็เลือกไฟล์ส่วนที่เราสร้างขึ้นมาเอง ซึ่งอยู่ใน application โดยมีด้วยกัน 8 โฟลเดอร์ 7. ส่วนสุดท้ายก็คือโฟลเดอร์ assets ที่เราใช้เก็บไฟล์เทมเพลต และ JavaScript, CSS, รูปภาพ และอื่นๆที่ที่เกี่ยวกับส่วนของ Front-end เพิ่มเติม 8. หลังจากนำไฟล์ไปวางทับใน CodeIgniter 3 เวอร์ชั่นล่าสุดที่เราดาวน์โหลดมาเรียบร้อยแล้ว ให้ทำการลบโฟลเดอร์ที่เก็บคู่มือการใช้งาน CodeIgniter ออกจากโปรเจ็กต์ของเรา เพราะไม่จำเป็นต้องใช้ก็ได้ เพียงเท่านี้เราก็สามารถนำโค้ดจากเทมเพลตใน CodeIgniter 3 เวอร์ชั่นเดิม ไปใช้กับ CodeIgniter 3 เวอร์ชั่นล่าสุดได้แล้วครับ สมาชิกสามาร...

PHP CI MANIA อัพเดตระบบสมาชิก พร้อมระบบล็อกอิบ แบบลืมรหัสผ่านทั้งอีเมล และตอบคำถาม

สิ่งที่เปลี่ยนแปลงในเทมเพลตเวอร์ชั่นนี้คือ การล็อกอินจะย้ายเข้าไปอยู่ใน Modules ซึ่งถ้าจะเอาไปใช้กับเทมเพลตเดิม ก็จะต้องคัดลอกโฟลเดอร์ 2 โฟลเดอร์ คือ 1. application/modules/member 2. assets/js_modules/member และนอกจากนี้ยังต้องเปลี่ยนลิงค์สำหรับ Login และ Logout อีก 2 จุดด้วยกัน คือ 1. application/views/template/sb-admin-bs4/top_navbar_view.php 2. application/views/template/sb-admin-bs4/homepage_view.php หากต้องการใช้กับ example_project ที่เป็นเวอร์ชั่นก่อนหน้านี้ มีขั้นตอนดังต่อไปนี้ เริ่มจากการเปลี่ยนลิงค์สำหรับ Logint ไปที่ /member/login โดยเข้าไปแก้ไขที่ไฟล์ application/views/template/sb-admin-bs4/top_navbar_view.php ต่อมาส่วนของการ Logout ให้ไปที่ /member/logout โดยเข้าไปแก้ไขที่ไฟล์ application/views/template/sb-admin-bs4/homepage_view.php คัดลอกไฟล์ส่วนของ PHP ที่ตำแหน่ง application/modules/member  ชื่อโฟลเดอร์ member ไปวางในตำแหน่งเดียวกันของโปรเจ็กต์ที่ต้องการ คัดลอกไฟล์ส่วนของ JavaScript ที่ตำแหน่ง assets/js_modules/member  ชื่อโฟลเดอร์ member ไปวางในตำแ...

PHP ประมวลผลไฟล์ zip จาก Google Form

ดาวน์โหลดข้อมูลจาก Google Form เอามาอัพโหลดประมวลผลใน PHP ตัวอย่างโค้ด <?php if( isset($_FILES) && isset($_FILES["FileUpload1"]["name"]) && $_FILES["FileUpload1"]["name"] != '' ){     $zip = zip_open($_FILES["FileUpload1"]["tmp_name"]);     if ($zip)       {         while ($zip_entry = zip_read($zip))         {             echo "<p>";             echo "<b>ชื่อไฟล์ : </b> <span class='text-primary'>" . zip_entry_name($zip_entry) . "</span><br />";             if (zip_entry_open($zip, $zip_entry))             {                 echo "File Contents:<br/>";     ...

PHP CI MANIA สร้างฟังก์ชั่นค้นหาข้อมูลจากตารางอื่น และทำการตรวจสอบเพื่อแสดงสถานะในรูปแบบปุ่มสีต่างๆ

เขียนโปรแกรมเว็บแอพพลิเคชั่นด้วยภาษา PHP ตรวจสอบชื่อตัวแปรที่ใช้ใน list_view.php ตัวอย่างนี้คือ {status} สร้างตัวแปรอาร์เรย์รับค่าจากฟังก์ชั่น $this->getStatus() ที่ไปค้นหาข้อมูลจากตารางอื่น            private function setDataListFormat ($lists_data, $start_row=0) { $data = $lists_data; $count = count($lists_data); for($i=0;$i<$count;$i++){ $start_row++; $data[$i]['record_number'] = $start_row; $pk1 = $data[$i]['id']; $data[$i]['url_encrypt_id'] = urlencode(encrypt($pk1)); if($pk1 != ''){ $pk1 = encrypt($pk1); } $data[$i]['encrypt_id'] = $pk1; $data[$i]['preview_ref_province_id'] = $this->setRefProvinceIdSubject($data[$i]['ref_province_id']); $data[$i]['preview_ref_amphur_id'] = $this->setRefAmphurIdSubject($data[$i]['ref_amphur_id']); $data[$i]['preview_ref_district_id'] = $this->setRefDistrictIdSubject($data[$i]['ref_district_id...

CodeIgniter 3 เรียนรู้พื้นฐาน MVC กับการประยุกต์ใช้จริงด้วย Shopping Cart (Codeigniter for Beginners)

CodeIgniter 3 เรียนรู้พื้นฐานกับการประยุกต์ใช้จริง   บทนำ             สิ่งที่จะได้หลังจากเรียนรู้จากหนังสือเล่มนี้ บทที่ 1  ทำความรู้จักกับ  CodeIgniter 3             - การเขียน PHP แบบธรรมดา             - การเขียน PHP แบบใช้ CodeIgniter Framework             - สรุปความน่าสนใจของ CodeIgniter Framework บทที่ 2  เริ่มต้นใช้งาน  CodeIgniter 3             - ดาวน์โหลดและติดตั้งใช้งาน               -  MVC คืออะไร (มาลองฝึกเขียนแบบแยกส่วนออกจากกัน)             -  Helper ที่ใช้ต้องรู้จัก ( Functions )                 - File                 - URL  ...

แก้ปัญหาการ submit ส่งค่าใน Form แต่ไม่มีค่าไปด้วย readonly & disabled

การใช้งาน Select box กับคำสั่งของ select2() จำเป็นจะต้องสั่ง readonly อีกครั้ง เพราะ select2 จะมีผลแค่กับคำสั่ง disabled แต่ถ้าหากเรา diabled ค่าในแบบฟอร์มก็จะไม่ส่งไปด้วย!! เพิ่มฟังก์ชั่นใน JavaScript เพื่อทำการเซ็ต Readonly ให้กับ Select Box ที่กำหนดเป็น readonly เอาไว้ var Menulevel = { current_page : 0, current_path : '', // load preview to modal loadPreview: function(id){ $.ajax({ method: 'GET', url: site_url('menulevel/menulevel/preview/'+ id), success: function (results) { $('#divPreview').html(results); }, error : function(jqXHR, exception){ ajaxErrorMessage(jqXHR, exception); } }); $('#modalPreview').modal('show'); }, //  // // // //Add another function setDropdownReadonly : function(){ $(document).ready(function() { $(" select[readonly]" ).select2("readonly", true); }); } } แก้ไขส่วนของ Controller เพิ่มการเรียกใช้งานฟังก์ชั่นใน ...

การค้นหาแบบระบุ ช่วงวันที่ - CodeIgniter ( PHP CI MANIA )

ส่วนของ Controller เมื่อเกิดการค้นหาจะตรวจสอบค่า POST if (isset($_POST['submit'])) { $search_field =  $this->input->post('search_field', TRUE); $value = $this->input->post('txtSearch', TRUE); $arr = array($this->Portfolio->session_name . '_search_field' => $search_field, $this->Portfolio->session_name . '_value' => $value ); $this->session->set_userdata($arr); } else { $search_field = $this->session->userdata($this->Portfolio->session_name . '_search_field'); $value = $this->session->userdata($this->Portfolio->session_name . '_value'); } เพิ่มค่า POST อื่นๆเข้าไปใน Controller if (isset($_POST['submit'])) { $search_field =  $this->input->post('search_field', TRUE); $value = $this->input->post('txtSearch', TRUE); // เพิ่มตัวแปรอื่นๆ $begin_date = $this->input->post('beg...

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

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

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

PHP + Fullcalendar กับ MySQL

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

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 และการรับค่าผ่านตัวแปรต่างๆ

การรับค่าจากแบบฟอร์มนั้น 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...

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/

ตัวอย่างการปรับแต่ง ความกว้าง-ความสูง ของ 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 หลักของเรามีผลกับทุกหน้า ...

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

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