บทความ

กำลังแสดงโพสต์จาก ธันวาคม, 2019

PHP Print ค่าทศนิยมตามตำแหน่งจริงโดยไม่ต้องกำหนดค่า

วันนี้เจอปัญหาเรื่อง floating point ของ PHP เข้าไป คือผมมีโจทย์ว่า ต้องการแสดงค่า float ที่มีทศนิยมได้หลากหลายตำแหน่ง เช่น 0.01   0.001 0.0001 0.00001 0.000001 0.0000001 คือตำแหน่งของทศนิยมมันจะหลากหลายมาก ตอนนี้ลองใช้คำสั่งปรกติได้ผลว่า <?=myFloat?> คำสั่งแสดงผลง่ายๆ แบบนี้อ่ะนะ จะมีปัญหาว่าถ้าทศนิยมตั้งแต่ 5 ตำแหน่งเป็นต้นไป เช่น 0.00001 จะแสดงผลเป็น 1.0E-5  ผมเลยลองเอา number_format มาครอบดู <?= number_format( myFloat)?> ผลที่ได้จะกลายเป็น 0  ยกเว้นเราจะกำหนดตำแหน่งทศนิยมลงไปแบบนี้ <?= number_format( myFloat,5)?> ผลที่ได้จะกลายเป็น ผลที่ได้จึงจะเป็น  0.00001 ดูแล้วก็เหมือนจะได้ Solution แล้วอ่ะนะ แต่ .... ปัญหามันคือ ถ้าทศนิยมมันไม่ใช่ 5 ตำแหน่งเสมอไปล่ะ มันอาจเป็น 4 ก็ได้ หรือ 6 ก็ได้ ด้วยคำสั่งเดียวกัน ถ้า Value มันเป็น  0.000001  ผลที่ได้จะเป็น 0.00000 ทันที ในทางกลับกัน ถ้า Value มันเป็น 0.0001 ผลที่ได้ก็จะกลายเป็น 0.00010 เช่นกัน ซึ่งมันก้ไม่ได้ตรงกับที่เราต้องการเลย ชิมิ วันนี้มีวิธีแก้มาให้ตามนี้เลยครับ ใช้ rtrim เข้ามาช่วยตามตัวอย่าง

แก้ปัญหา ภาษาไทย PHP กับ MySQL ด้วย tis-620

รูปภาพ
บ่อยครั้งที่มักเจอปัญหาเวลาใช้ PHP Query ข้อมูลภาษาไทยจาก MySQL แล้วกลายเป็น ???? วิธีแก้ไขคือให้ทำการ Set ค่า Collation ให้เป็น tis620_thai_ci หรือจะเลือก Default ไว้ตั้งแต่ตอน create database เลยก็ได้เช่นกัน เสร็จแล้วตอนที่ PHP connect  MySQL Database ให้ทำการกำหนด Collation name ด้วยคำสั่งนี้ mysql_query("SET NAMES TIS620"); ตัวอย่างเช่น <? $username="test"; $password="test"; $database="test"; mysql_connect("localhost",$username,$password); @mysql_select_db($database) or die( "Unable to select database"); mysql_query("SET NAMES TIS620"); ?>  กรณีนี้เราสามารถใช้  UTF8 แทน TIS620 ได้ด้วยวิธีเดียวกันครับ ซึ่งหลังๆ ผมแนะนำให้เป็น UTF8 จะดีกว่านะ

Grid Bootstrap ทำความเข้าใจระบบ Grid ของ Bootstrap แบบเข้าใจง่าย

รูปภาพ
ก่อนอื่นให้เข้าใจก่อนครับว่าระบบ Grid ของ Bootstrap จะแบ่งเป็น 12 ช่อง มาเข้าใจระบบแบ่งช่องกันก่อนนะ CSS ของ Bootstrap จะให้เรากำหนดจำนวนช่องได้ด้วยคำสั่งนี้   col-sm-4  โดย sm หมายถึงขนาดหน้าจอ และเลข 4 คือสัดส่วน 4 จาก 12 ... งงมะ   ให้จำแบบนี้ละกัน ถ้าอยากให้ถ้าเราอยากให้แสดงกี่ช่องให้เอา 12 ตั้งแล้วหารด้วย ตัวเลขนั้น เช่น       อยากให้แสดง 1 ช่อง : col-sm-12 (12 หาร 12 =1)       อยากให้แสดง 2 ช่อง : col-sm-6       อยากให้แสดง 3 ช่อง : col-sm-4  ต่อมามาเข้าใจเรื่องของการกำหนดขนาดหน้าจอ โดย Bootstrap จะกำหนดขนาดไว้ทั้งหมด 4 Size ตามรูปด้านล่าง ตาม Concept การทำเว็บแบบ Responsive เรามักจะต้องกำหนดจำนวนช่องการแสดงผลของแต่ละหนาดหน้าจอแตกต่างกันเช่น PC ก็หลายช่องหน่อย รองลงมาก็ Notebook , Tablet และก็ Mobile ว่าแล้วเรามาลองกำหนดขนาดของ Grid ตามนี้ดู   col-xs-6    หน้าจอมือถือเล็กสุด จะให้แสดง 2 ช่อง   col-sm-4   หน้าจอ Tablet จะให้แสดง 3 ช่อง   col-md-2   หน้าจอ Notebook ให้แสดง 6 ช่อง   col-lg-1   ส่วนบน PC ให้แสดง 12 ช่อง 1. มาดูผลกัน เริ่มจากบน มือถือที่ความกว

เพิ่มความเร็วการ load page ด้วย Preload key request

รูปภาพ
การ load resource ต่างๆ เช่น javascript หรือ css ใน web page ปัจจุบันถือว่าเป็นเรื่องที่หลีกเลี่ยงไม่ได้ บาง page load กันที หลายสิบ ไฟล์ เลยทีเดียว หากเราไม่ทำอะไรเลย จะเจอว่าเป็นการทำงานแบบต่อเนื่องกัน มีผลทำให้ page load ช้ามาก จะดีกว่ามั้ยถ้าทุกไฟล์โหลดพร้อมๆ กันไปเลย ด้วยเทคนิคการใช้ Preload key request ตามตัวอย่างนี้เลย <head>   ...   <link rel="preload" href="styles.css" as="style">   <link rel="preload" href="ui.js" as="script">   ... </head> ลองใส่ tag rel="preload"  เข้าไปแล้วลองวัน performance ดูได้ที่ URL นี้เลย https://developers.google.com/speed/