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

บทความ

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

PHP Array นำข้อมูล Array วันที่ หลายๆวัน มาหาช่วงวันที่ต่อเนื่อง

ประกาศค่าตัวแปรวันที่ $results = array(); $all_date = array( '2017-10-31', '2017-12-29','2017-12-30','2017-12-31','2018-01-01','2018-01-02', '2018-03-12', '2018-03-13', '2018-03-14', '2018-03-15', '2018-02-28', '2018-03-01', '2018-03-02', '2018-03-07', '2018-03-09', '2019-03-20', '2019-03-21' ); ผลลัพธ์ที่ต้องการ สร้างตัวแปรเดือนแบบย่อ $short_month = array('01' => 'ม.ค.', '02' => 'ก.พ.', '03' => 'มี.ค.', '04' => 'เม.ย.', '10' => 'ต.ค.', '12' => 'ธ.ค.'); 1. เรียงวันที่จากน้อยไปมากเพื่อวนลูป sort($all_date);  2. นับจำนวนวัน เพื่อใช้ตรวจสอบกรณีต่อเนื่องกันทั้งหมด $num_date = count($all_date); 3. ตรวจสอบว่า วันแรก และวันสุดท้าย ห่างกันเท่ากันหรือไม่ ถ้าเท่ากัน แสดงว่าต่อเนื่องทั้งห...

PHP CodeIgniter เพิ่ม form validation สำหรับวันที่รูปแบบไทย DD/MM/YYYY HH:MM:SS

เพิ่ม datetime สำหรับ รูปแบบสากล  YYYY-MM-DD HH:MM:SS datetime_th สำหรับรูปแบบไทย DD/MM/YYYY HH:MM:SS <?php defined('BASEPATH') OR exit('No direct script access allowed'); class MY_Form_validation extends CI_Form_validation { function __construct() { parent::__construct(); } public function datetime($str) { $date_time = explode(' ',$str); if(sizeof($date_time)==2) { $date = $date_time[0]; $date_values = explode('-',$date); if((sizeof($date_values)!=3) || !checkdate( (int) $date_values[1], (int) $date_values[2], (int) $date_values[0])) { return FALSE; } $time = $date_time[1]; $time_values = explode(':',$time); if((int) $time_values[0]>23 || (int) $time_values[1]>59 || (int) $time_values[2]>59) { return FALSE; } return TRUE; } return FALSE; } public function datetime_th($str) { $date_time = explode(' ',$str); if(sizeof($date_time)==2) { $date = $date_time[0]; $date_values = ex...

แก้ปัญหาเวลาแก้ไข JavaScrip, CSS อัพขึ้นโฮสต์แล้วต้องกด CTRL + F5 เพื่อโหลดไฟล์ใหม่ทุกครั้ง

แก้ปัญหาเวลาแก้ไข JavaScript, CSS อัพขึ้นโฮสต์แล้วต้องกด CTRL + F5 เพื่อโหลดไฟล์ใหม่ทุกครั้ง

PHP Booking ตัวอย่างการแสดงข้อมูลการจองห้อง ของช่วงเวลาต่างๆในแต่ละวัน

#PHP #Booking #Schedule ตัวอย่างการแสดงข้อมูลการจอง ของช่วงเวลาต่างๆในแต่ละวัน ของห้องแต่ละห้อง - วนลูปแสดงตามจำนวนห้อง - วนลูปแสดงข้อมูลตามช่วงเวลา start , end ที่บันทึกไว้ - หน้าตาแบบสะอาดๆ ดูดีขึ้นกว่าเวอร์ชั่นก่อน วิดีโอแนะนำการเขียนโค้ดทีละขั้นตอน ดูซอร์สโค้ดเวอร์ชั่นเก่าได้ ที่นี่ สำหรับโค้ดที่ปรับแต่งแล้ว จะได้หน้าตาดังนี้ โครงสร้างฐานข้อมูลตัวอย่างทั้งหมด 2 ตาราง สำหรับซอร์สโค้ดที่ปรับแต่งเรียบร้อย ดูหน้าตาสะอาดสะอ้านขึ้นนั้น หากท่านใดสนใจก็สามารถเลี้ยงกาแฟแอดมินได้ ที่นี่ ครับ   หลังจากเลี้ยงกาแฟแล้วส่ง Inbox เพื่อขอรับโค้ด ที่นี่ [ SQL สำหรับสร้างฐานข้อมูลทดสอบโปรแกรม ] -- Dumping database structure for tobedev_example CREATE DATABASE IF NOT EXISTS `tobedev_example` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; USE `tobedev_example`; -- Dumping structure for table tobedev_example.tb_booking CREATE TABLE IF NOT EXISTS `tb_booking` ( `id` int(11) NOT NULL AUTO_INCREMENT, `booking_date` date NOT NULL COMMENT...

เรียกฟังก์ชั่น click ใน jQuery หลังโหลด AJAX มาแล้วไม่ทำงาน

ลืมตลอด JavaScript พวก onclick onchange ต่างๆ  ถ้าสร้างไว้ก่อนจะไม่มีผลกับ element ที่โหลดมาด้วย AJAX ถ้าจะให้มันทำงานต้องดักด้วยการเพิ่ม .on() $(document).on('click', ' # target_button ', function(){       //Your code here }); เช่นเดิมทีหน้าหลักมีแค่ <div id="main_content">  <!-- AJAX Content </div> แล้วเมื่อโหลดข้อมูล Ajax เรียบร้อย <div id="main_content">   <button id=" target_button">TEST</button> </div>  <script>  $("# target_button").click(function(){      alert("555+ เงี๊ยบปิ๊ง!!" ); }); </script>  ในส่วน Script ต้องใช้ .on เข้าช่วย <script> $(document).on('click', '#target_button', function(){       alert('เย้ๆๆๆ ทำงานแล้ว'); }); </script> ก็เอวัง ด้วยประการฉะนี้แล

PHP Array การแทนที่ข้อมูล Array ชุดแรก ด้วยข้อมูล Array ชุดใหม่ แบบ associative

เมื่อเรามีข้อมูล Array อยู่แล้วชุดหนึ่ง แต่ในการทำงานครั้งต่อไปต้องการนำ Array ชุดใหม่ใส่เพิ่มเข้าไปจะทำอย่างไร? ฟังก์ชั่นที่เกี่ยวกับ Array ฟังก์ชั่นแรกที่โผล่ขึ้นในหัวก็คือ array_push(); แต่เดี๋ยวก่อน!! มันเพิ่มเข้าไปจริง แต่มันไม่แทนที่ Array ชุดเดิมที่ key เหมือนกัน การเพิ่ม Array มิติใหม่เข้าไปอีกชุดหนึ่ง <?php $a = array('a' => 'hello', 'b' => 'world'); $b = array('a' => 'person', 'b' => 'thing', 'c'=>'other', '15'=>'x'); echo '<pre>', print_r(array_push($a, $b), true),'</pre>'; ?> Array (     [a] => hello     [b] => world     [0] => Array         (             [a] => person             [b] => thing             [c] => other             [15] => x         ) ) แต่ที่ต้องการคือแบบนี้ กรณีที่มีข้อมูลเดิมอ...

เขียนโปรแกรม PHP แก้สมการรูปภาพ

ผลลัพธ์ที่ได้ รองเท้า 1 คู่       = 10 คนคล้องนกหวีด  = 5 นกหวีด 2 อัน      = 4 นกหวีด 1 อัน      = 2 คนไม่มีนกหวีด    = 3 คำตอบคือ = 10 + 3 x 2 = 16 โค้ด PHP ถอดสมการตามภาพ <?php $a = 0;//รองเท้า1คู่ $b = 0;//คนกับนกหวีด $c = 0;//นกหวีด 2 อัน $d = 0;//คนไม่มีนกหวีด $e = 0;//นกหวีด 1 อัน $resultA = 30; $resultB = 20; $resultC = 13; $answer = 0;//คำตอบที่ต้องการ //สมการแรก รองเท้า 1 คู่ ($a + $a + $a == $resultA) $checkA = 0; while($checkA != $resultA){     $a++;     $checkA = $a + $a + $a; } echo '<br/> รองเท้า 1 คู่ = ' . $a; //สมการที่ 2 คนคล้องนกหวีด $a + $b + $b == $resultB $checkB = 0; while($checkB != $resultB){     $b++;     $checkB = $a + $b + $b; } echo '<br/> คนคล้องนกหวีด = ' . $b; //สมการที่ 3 นกหวีด 2 อัน b + $c + $c == $resultC $checkC = 0; while($checkC...

fsockopen(): unable to connect to ssl://smtp.gmail.com:465

หลังจากที่แชร์วิธี การเขียนโปรแกรมส่งอีเมลด้วย PHP CodeIgniter ไปเมื่อหลายวันก่อน พอลองอัพขึ้นทดสอบบนเว็บโฮสติ้งเท่านั้นแหละ ปัญหาก็เกิดขึ้นมาโดยที่ตอนรันบน Localhost ไม่ยักกะเจอ!! fsockopen(): unable to connect to ssl://smtp.gmail.com:465 ก็เลยลองค้นหาดูว่า มีใครเจอเหมือนกันบ้างไหม แล้วเขาแก้ไขมันด้วยวิธีใด และแล้วก็เจออยู่ 2 วิธีด้วยกันดังต่อไปนี้ วิธีที่ 1 จับใส่ไฟล์ config   ( application/config/email.php ) วิธีที่ 2 เอา config มาใส่ในตอน  $this->load->library('email'); ซึ่งดูจากทั้ง 2 วิธีแล้ว ถ้าวิธีที่ 1 สามารถใช้งานได้จริงก็ถือว่าง่ายกว่าเยอะ ไม่ต้องคอนโหลด config ทุกครั้งที่เรียกใช้ไลบรารี่ email ส่วนวิธีที่ 2 ถ้าหากต้องการส่งอีเมลด้วยหลาย user ก็คงต้องใช้ตามนี้ หรืออาจจะใช้วิธีสร้าง MY_Email.php  ไว้ที่ application/core เพื่อรับค่าเพิ่มเติมกรณีต้องการเปลี่ยน user แต่ละครั้งที่ส่ง :: แหล่งอ้างอิง :: Sending email with gmail smtp with codeigniter email library https://forum.codeigniter.com/thread-23655.html fsockopen():...

PHP กับการเขียนโปรแกรมส่ง Email ด้วย CodeIgniter - email library

PHP Sending email via SMTP server จากบทความการตั้งค่าเพื่อเขียนโปรแกรม ส่งอีเมล์ด้วย PHP วิธีเปิดใช้งาน Authen Account ของ Gmail   ซึ่งเป็นการส่งผ่าน PHPMailer แต่สำหรับ CodeIgniter 3 สามารถเรียกใช้งานไลบรารี่ email ได้เลย ซึ่งมีการเขียนแนะนำไว้ดังนี้ ที่มา : https://stackoverflow.com/questions/37492272/how-to-use-phpmailer-in-codeigniter และก็ลองค้นหาบทความเพิ่มเติมเกี่ยวกับการเขียนโปรแกรมส่งอีเมลด้วย PHP CodeIgntier ผ่าน Gmail ก็ได้ตัวอย่างโค้ดดังนี้ //Load email library $this -> load -> library ( 'email' ); //SMTP & mail configuration $config  = array(      'protocol'   =>  'smtp' ,      'smtp_host'  =>  'ssl://smtp.googlemail.com' ,      'smtp_port'  =>  465 ,      'smtp_user'  =>  'user@gmail.com' ,      'smtp_pass'  =>  'gmail_password' , ...

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

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

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

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

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

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

รวมบทความแนะนำวิธีการแฮกเว็บไซต์และการป้องกัน PHP Web Application Security  สรุป PHP Web Application Security  Nebula เลเวล 09: มาลองแฮกช่องโหว่ใน PHP เข้าใจ Web Security: จัดเก็บ JWT ไว้ใน local storage หรือ cookies ดี? SQL Injection เทคนิค การHack Web 2. String Based SQL Injection สิ่งที่ทุกคนต้องรู้ ในการเขียนโปรแกรมด้วย PHP กับ MySQL หากไม่อยากให้ระบบที่เขียนนั้นถูก HACK ได้ !!!  Testing for SQL Injection (OTG-INPVAL-005) Cross Site Scripting (XSS) Cross-site Scripting (XSS) วิธีการยอดนิยมที่แฮคเกอร์รู้จักกันดี บทเรียน hack มั่ว (ตอนที่ 1) การ xss วิธีตรวจสอบเว็บไซต์ที่โดน Hack #9 https://www.owasp.org/index.php/Cross-site_Scripting_(XSS) Cross Site Request Forgery (CSRF) การโจมตีเว็บแบบ Cross Site Request Forgery ทำความเข้าใจกับ CSRF (Cross Site Request Forgery) ตอนที่ 1 ทำเว็บไซต์ให้ปลอดภัย Codeigniter Security https://www.owasp.org/index.php/Testing_for_CSRF_(OTG-SESS-005) ใครที่มีเรื่องราวน่าสนใจ แบ่งปันกัน...

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 จะใช้ตัวแปรอยู่ 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 คืออะไร : มีหลักการทำงาน และสิ่งที่น่าสนใจอะไรบ้าง?

PHP คืออะไร? PHP ย่อมาจากคำว่า "Personal Home Page Tool" (ปัจจุบันได้เพิ่มเติมคำย่อใหม่โดยรวมกับตัวย่อเป็น  PHP : PHP Hypertext Preprocessor ) ซึ่งเป็นภาษาประเภท Script Language ที่ทำงานแบบ Server Side Script กระบวนการทำงานจะทำงานแบบ โปรแกรมแปลคำสั่ง  interpreter คือแปลภาษาทุกครั้งที่มีคนเรียกสคริปต์ ข้อดีคือ ไม่ต้องนำไปประมวลผลใหม่ (Compiler) เมื่อจะนำโปรแกรมไปใช้งาน หรือจะอัพเดตเวอร์ชั่นของโปรแกรม สามารถอัพโหลดขึ้นไปทับไฟล์เดิมแล้วใช้งานได้ทันที ขอเสียที่ต่างกันอย่างชัดเจนก็คือ กรณี Syntax ผิดจะรู้ก็ต่อเมื่อมีผู้ใช้งานเจอบั๊ก ภาษา PHP  จัดอยู่ในประเภท การเขียนโปรแกรมบนเว็บ (Web-based Programming) เพราะเราจะเก็บโค้ดคำสั่ง หรือสคริปต์ทั้งหมดที่เขียนขึ้นมาไว้บนเครื่องเซิร์ฟเวอร์ที่เดียว (Web Server)  และให้ผู้ใช้งาน (Client) เรียกใช้งานโปรแกรมผ่านเว็บเบราเซอร์ต่างๆ เช่น Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari ฯลฯ เพื่อนำข้อมูลมาแสดงผลที่หน้าจอของผู้ใช้แต่ละคนนั่นเอง PHP มีอะไรน่าสนใจบ้าง? เรามาลองพูดถึงเรื่องของการสร้...

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

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