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

บทความ

กำลังแสดงโพสต์จาก มิถุนายน, 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 : รวมลิงค์ แจกฟรี!! ตัวอย่างโปรเจ็กต์ ที่พัฒนาด้วย 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()

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

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

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

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

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

CodeIgniter การกำหนดเงื่อนไขค้นหาในหน้า ตารางแสดงรายการ เพื่อให้การแสดงผล Pagination ทำงานถูกต้อง

การค้นหารายการในหน้า " ตารางแสดงรายการ " เราสามารถปรับแต่งส่วนของ การจัดเรียง ส่วนของการค้นหา เพิ่มเติมได้ที่ Model ที่ฟังก์ชั่น read() ซึ่งจะมีการ Query ด้วยกัน 3 ครั้ง คือ (1) นับจำนวนทั้งหมด (แบบไม่กำหนด WHERE) <= ปัจจุบันไม่ได้เอาไปแสดงผล (2) นับจำนวนที่ค้นหาเจอ จะยอดที่แสดงในส่วนของ "จากทั้งหมด ..... รายการ" (3) ดึงรายการทั้งหมดที่ค้นเจอ โดยสามารถกำหนดเงื่อนไขการแบ่งหน้าได้ public function read($start_row = FALSE, $per_page = FALSE) { $search_field = $this->session->userdata($this->session_name . '_search_field'); $value = $this->session->userdata($this->session_name . '_value'); $value = trim($value); // ถ้ามีเงื่อนไขหลัก ให้ใส่ไว้ก่อนที่นี่ $where = "GEO_ID IN (1, 2, 3)"; $order_by = ''; if($this->order_field != ''){ $order_field = $this->order_field; $order_sort = $this->order_sort; $order_by = " $this->my_table.$or...

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 : ตอนที่ 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...

แจกฟรี PHPExcel สำหรับ PHP 7.4

หลายๆท่าน น่าจะเจอปัญหาเหมือนกันนะครับ กับการเปลี่ยนไปใช้ PHP 7.4 แล้วไลบรารี่ PHPExcel ไม่ทำงาน เกิด Error ขึ้นมาหลายจุดเลยทีเดียวครับ ( ต้องมานั่งแก้อยู่หลายวันทีเดียว ^^; ) ข้อความแจ้งข้อผิดพลาด (Error message) ที่เจอได้แก่ Warning: “continue” targeting switch is equivalent to “break”. Did you mean to use “continue 2”? Array and string offset access syntax with curly braces is deprecated วิธีแก้ไขก็คือ วิ่งตาม File และ Line ที่ระบุในข้อความ Error จากนั้นก็แก้ให้หมดตามวิธีแก้ไขที่ค้นหาจากเว็บบอร์ดต่างๆ เช่น StackOverFlow.com  หลังจากที่แก้ไขจนสามารถรันได้แล้ว แอดมินก็ได้จัดการรวมไฟล์ไว้ และท่านสามารถเข้าไปดาวน์โหลดมาทดลองใช้งานได้จากลิงค์นี้ครับ >>   แจกฟรี PHPExcel สำหรับ PHP 7.4   << PHPExcel https://github.com/PHPOffice/PHPExcel PhpSpreadsheet https://github.com/PHPOffice/PhpSpreadsheet PHP  CI  MANIA   - PHP Code Generator  โปรแกรมช่วยสร้างโค้ด "ลดเวลาการเขียนโปรแกรม" ราคาสุดคุ้ม    4,500    บาท http:/...

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