Get Adobe Flash player

การติดตั้ง Apache, PHP และ MySQL บน macOS 10.x

ตั้งแต่ macOS version 10 เป็นต้นไปได้มีการติดตั้ง Apache และ PHP มาให้แล้ว เราเพียงแค่ต้องไปเปิดใช้งานเท่านั้น ส่วน MySQL จะต้องทำการติดตั้งด้วยตนเอง หรือ อาจจะตัดความยุ่งยากในการติดตั้งทั้งหมดนี้ด้วยการใช้ Software ที่ bundle ทุก ๆ อย่างมาให้อย่าง Xampp หรือ Mamp ก็ได้ แต่การติดตั้งทั้งหมดนี้ด้วยตนเองจะทำให้ได้ความรู้ไปด้วย

ในการ Enable Apache และ PHP จะทำผ่าน Terminal ทั้งหมด (macOS ที่ใช้ 10.14)

1. ตรวจสอบ Version ของ Apache เพื่อให้แน่ใจว่ามีการติดตั้ง Apache อยู่จริง โดยใช้คำสั่ง http -v 

2. เมื่อรู้ว่ามี Apache แล้ว สามารถสั่งเปิดการใช้งานด้วยคำสั่ง sudo apachectl start จากนั้นให้ใส่ Passwordของเจ้าของเครื่อง

3. ทดลองเปิด​ url  http://localhost จะเจอหน้า It’s Work ดังรูป

4. โดยปกติ Root directory จะอยู่ที่ /Library/WebServer/Documents/ ดังรูป (สามารถเขียน Website ลงใน Directory นี้ได้เลย)

5. ทดลองเข้าที่ url http://localhost/test/phpinfo.php เพื่อทดสอบ PHP จะพบว่าไม่สามารถรันได้ เพราะค่าเริ่มต้นของ Apache จะยังไม่เปิดการใช้งาน PHP

6. การเปิดใช้งาน PHP จะต้องแก้ไข Config ของ Apache ที่ /private/etc/apache2/httpd.conf โดยไฟล์ Config นี้จะต้องใช้สิทธิเจ้าของเครื่องเพื่อทำการแก้ไขไฟล์ ให้ทำการเปิด Terminal อีกครั้งและใช้คำสั่ง sudo vi /private/etc/apache2/httpd.conf จากนั้นให้ใส่ Password ของเจ้าของเครื่อง (vi เป็น Text editor สามารถดูวิธีการใช้ได้ที่ https://staff.washington.edu/rells/R110/)

7. การแก้ไข httpd.conf เพื่อเปิดใช้งาน PHP ให้ใช้คำสั่ง /php ใน Command Mode เพื่อค้นหาคำว่า “php” ใน config จากนั้นให้เข้าสู่ Insert Mode เพื่อแก้ไข Config โดยการเอาเครื่องหมาย “#” ออก (LoadModule php7_module…)  ดังรูป

8. จากนั้นออกจาก Insert Mode เข้าสู่ Command Mode และใช้คำสั่ง :wq เพื่อบันทึกและออกจาก vi

9. จะต้อง Restart Apache โดยใช้คำสั่ง sudo apachectl restart จากนั้น ทดลองเข้าที่ url http://localhost/test/phpinfo.php จะสามารถรัน phpinfo ได้

10. การติดตั้ง MySQL ให้ใช้รุ่น Free คือ MySQL Community Edition สามารถ Download ที่ https://dev.mysql.com/downloads/mysql/  ดังรูป ส่วนการติดตั้งก็สามารถติดตั้งได้ตามปกติ

11. การ เปิด/ปิด Service MySQL บน macOS ใช้คำสั่ง (ตั้งแต่ macOS Sierra เป็นต้นไป)

  • sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
  • sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

12. Database Tool สำหรับ MySQL แนะนำ

 

SQL : การ Copy ข้อมูลจาก Column ไปยังอีก Column

ในการ Copy  ข้อมูลจากคอลัมน์ไปยังอีกคอลัมน์ ในที่นี้จะหมายถึงการทำสำเนาข้อมูลทั้งหมดในคอลันน์นั้น ซึ่งเหมาะกับการทำงานกับจำนวนข้อมูลมากๆ ทำให้ผู้ใช้งานไม่ต้องเสียเวลาในการระบุ Value ของแต่ละ record

รูปแบบคำสั่ง

UPDATE ชื่อตาราง

SET ชื่อColumnB = ชื่อColumnA

WHERE เงื่อนไข (ถ้ามี)

ในการใช้ชุดคำสั่งนี้จะเป็นการ Copy ข้อมูลทั้งหมดในคอลัมน์ จากคอลัมน์ A ไปยังอีก B ภายในตารางเดียวกัน
ซึ่งข้อมูลที่จำเป็นต้องระบุหลักๆจะมีเพียงชื่อตาราง แล้วก็คอลัมน์ที่ใช้เป็นต้นแบบ และชื่อคอลัมน์ปลายทางที่จะนำสำเนาข้อมูลไปเก็บไว้
โดยที่สามารถระบุเงื่อนไขในการ Copy ได้ภายใต้เงื่อนไขหลังคำสั่ง WHERE

ซึ่งหากเป็นการ Copy ข้อมูลจากคอลัมน์จากตารางอื่น จะใช้รูปแบบคำสั่งนี้

รูปแบบคำสั่ง

UPDATE ชื่อตารางB

SET ชื่อColumnB = (SELECT ชื่อColumnA FROMชื่อตารางA

WHERE ชื่อตารางB.ชื่อColumnIDของB = ชื่อตารางA.ชื่อColumnIDของA)

จะเห็นได้ว่า การ Copy ข้อมูลจากอีกตารางมา จะต้องมีการ Select ค่าซ้อนภายใต้วงเล็บก่อนที่จะเอามาเทียบค่ากับคอลัมน์ B บนตาราง B
ซึ่งจะต้องมีการเช็คค่าด้วยคอลัมน์ตัวกลางอีกตัวหนึ่งว่าสองตารางมีค่าตรงกัน (ให้เสมือนว่าสองตารางเชื่อมกันอยู่)

PHP การส่งค่าแบบ GET ผ่านทาง URL

PHP จะมีการส่งค่าตัวแปร 2 แบบ คือแบบ GET และ POST

การส่งค่าตัวแปรแบบ GET จะแสดงค่าที่ส่งผ่านทาง URL ซึ่งทำให้คนอื่นเห็นข้อมูลได้

ตัวอย่างการใช้งาน

เราจะส่งค่า id จากปุ่ม button ผ่าน url ไปยังอีกหน้า ซึ่งเรากำหนดชื่อตัวแปรไว้หลังเครื่องหมาย ?

จากตัวอย่าง

edit.php?id=
ค่าจาก button ที่ส่งค่ามานั้นมีค่า 1
การเรียกใช้ตัวแปรที่ส่งค่าผ่านมาจาก URL
ผลลัพธ์

การใช้ alert Js SweetAlert ใน ASP.NET C#

1.การติดตั้ง

https://www.jsdelivr.com/package/npm/sweetalert2

2. เราจะใช้แค่ 2 ไฟล์ นี้

 

3.นำ TAG ไปใส่ ทั้ง CSS  JS

4 และใส่ โค้ด Script

โดยเราสามารถดูอ้างอิงจาก เว็ปได้

https://sweetalert2.github.io/

5. โดยวิธีเรียนใช้คือ

successalert1() คือฟังก์ชั่นที่เรียกใช้

SQL : การใช้ CASE WHEN

CASE WHEN เป็นรูปแบบคำสั่งในการเช็คเงื่อนไขเพื่อการแสดงผลในรูปแบบ SQL ซึ่งถ้าเปรียบเป็นการเขียนโค้ดในภาษาอื่นๆทั่วไปก็คือการเช็คเงื่อนไขแบบ IF…ELSE… นั่นเอง

 

รูปแบบคำสั่ง

SELECT
CASE WHEN เงื่อนไข(1) THEN คำสั่ง(1)
WHEN เงื่อนไข(2) THEN คำสั่ง(2)
WHEN เงื่อนไข(3) THEN คำสั่ง(3)
….

ELSE คำสั่งอื่นๆกรณีที่ไม่เข้าเงื่อนไขใด END AS ชื่อฟิลด์ที่ต้องการ
FROM ชื่อตาราง

ในการกำหนดเงื่อนไข จะเขียนหลัง WHEN ซึ่งหากเงื่อนไขถูกต้อง คำสั่งจะทำตาม THEN
แต่ถ้าไม่ถูกต้อง ก็จะไม่มีการทำตามคำสั่งหลัง THEN ของเงื่อนไขนั้นๆ แล้วจะไปเช็คเงื่อนไขถัดไปของคำสั่ง WHEN
โดย WHEN สำหรับเงื่อนไขแรกจะขึ้นต้นด้วย CASE WHEN ส่วนเงื่อนไขถัดๆไปจะเขียนด้วย WHEN
และถ้าสุดท้ายไม่เข้าเงื่อนไขใดๆเลยก็จะทำตามคำสั่งของ ELSE จากนั้นให้ปิด syntax การเช็คเงื่อนไขด้วย END

 

อธิบายตัวอย่างการใช้

สมมติ กรณีนี้เราต้องการดึงค่า citizen_id มาจาก employee โค้ดข้างต้นจะหมายถึง
สร้างเงื่อนไขว่า หากค่า id_card ไม่เป็นค่าว่าง และ nation_code เป็น TH ให้ดึงค่าจาก  id_card มาแสดง
แต่ถ้าหาก id_card ไม่เป็นค่าว่าง และ nation_code ไม่เป็น TH ให้ดึงค่าจาก  pass_id มาแสดง
แต่ถ้าไม่เข้าสองเงื่อนไขแรก (เช่น id_card เป็นค่าว่าง) ก็ให้แสดงคำว่า Unknown!! แทน

 

 

Devexpress – สร้างตัวเลือกปีบน Dropdown / Combobox

ในกรณีที่เป็นตัวเลือกปีที่จะมีการเปลี่ยนแปลงตลอดเวลา เราจะใช้การ datasource ดึงข้อมูลปีปัจจุบันจากข้อมูล DateTime ดังนี้

เมื่อกำหนดค่าและทำการ datasource จะได้ drop down หรือ combo box ที่แสดงค่าปีปัจจุบันตามที่กำหนด (ในที่นี้เลือกแสดงค่าเป็นปี พ.ศ.)

และเมื่อทำการกดที่ลูกศรทางขวาเพื่อดูตัวเลือก ก็จะแสดงตัวเลือกตามที่กำหนดไว้

 

PHP การเชื่อมต่อฐานข้อมูล MYSQL

PHP การเชื่อมต่อฐานข้อมูล

การใช้  PHP เชื่อมต่อฐานข้อมูลแบบ PDO

ส่วน $servername , $username , $password จะเป็นส่วนในการ config ชื่อเซิฟเวอร์ ผู้ใช้และรหัสผ่านที่ต้องการกำหนด

และดัก Error โดยใช้คำสั่ง try catch

ส่วนต่อมาจะเป็นคำสั่งการเชื่อมต่อ MYSQL ผ่านตัวแปรที่ชื่อว่า $conn

ถ้าเชื่อมต่อสำเร็จจะแสดงข้อความว่า Connected successfully ขึ้นมา

ถ้าเชื่อมต่อไม่สำเร็จจะแสดงข้อความว่า Connection failed : (ข้อผิดพลาดในการเชื่อมต่อ)

 

DataTables Plug-in เพิ่มความสามารถให้ตารางข้อมูล รองรับหลาย CSS Framework

ปกติตารางข้อมูลที่ถูกสร้างด้วย HTML Table จะทำหน้าที่เพียงแค่แสดงผลตารางเท่านั้น เราสามารถใช้ DataTables ซึ่งเป็น jQuery Plugin ที่เป็น Open source โดย DataTable สามารถเปลี่ยนให้ตารางข้อมูลธรรมดา มีความสามารถเพิ่มขึ้นประกอบด้วย

  1. Pagination
  2. Instant search
  3. Multi-column ordering
  4. Use almost any data source
  5. Easily theme-able (รองรับหลาย CSS Framework)
  6. Wide variety of extensions
  7. Mobile friendly
  8. Fully internationalisable

การใช้งานเริ่มต้นด้วยการแนบไฟล์ CSS และ JavaScript (ต้องการ jQuery ด้วย) ของ DataTables

หรือถ้าต้องการใช้ร่วมกับ CSS Framework สามารถเลือกที่ Download Builder เพื่อเลือกว่าจะใช้อะไรบ้าง

จากนั้นสามารถเรียกใช้ Function ผ่าน Selector ของ jQuery ได้ดังนี้

ผลที่ได้ จะได้ตารางที่มีคุณสมบัติในการค้นหา เรียงลำดับ แบ่งหน้าได้ตามภาพ

วิธีนำ Font ภาษาไทยจาก Google Font มาใช้บน Web Application

1.เข้าเว็ป  https://fonts.google.com/ 

2. แล้วเลือก ภาษาไทย

 

3. เลือกฟอนต์ที่ต้องการและกด รูปบวก

   4. เมื่อกดรูป บวกแล้วจะมีหน้านี้ขึ้นเพื่อในนำ CSS ไปใส่ ดังภาพ

5. ให้นำโค้ด  ไปแปะบนหัวเว็ป

6. และนำ โค้ด CSS ไปใส่  ในส่วนที่ต้องการเปลี่ยนภาษาไทย ถ้า .fontkanit คือ class เอาไปใส่ใน class

ก็จะฟอนต์ภาษาไทยอย่างง่ายไปใช้งาน

CSS Effect zoom รูปภาพเพื่อเพิ่ม Interaction กับผู้ใช้

จากตัวอย่างใน Video เมื่อ hover ที่รูปใดใน Gallery รูปนั้นจะถูกซูมเพื่อให้ผู้ใช้ทราบว่ากำลังชี้ที่รูปใดอยู่ สามารถทำได้ดังนี้

HTML

 

CSS

ใน Class gallery-item สามารถนำ overflow: hidden; ออก เวลาที่ Hover ภาพจะขยายใหญ่เกินกรอบ ก็เป็นอีกทางเลือกหนึ่ง