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

บทความ

กำลังแสดงโพสต์จาก กันยายน, 2014

จะเขียน PHP บนมือถือยังไงดี

ผมลองค้นหาด้วยคำว่า php on androide และ lampp for androide ใน google play store ก็ได้เจอกับแอพฟรีบ้าง เสียตังค์บ้าง ซึ่งหลังจากที่ลองติดตั้งก็พบว่าใช้พื้นที่เยอะทีเดียว และอีกอย่างการพิมพ์บนมือถือก็เป็นเรื่องที่ลำบากทีเดียว จึงนึกถึงโปรเจ็กต์ของตัวเองขึ้นมาได้ ถ้าเราเขียนโปรแกรมโดยที่ไม่ต้องพิมพ์ก็จะสามารถใช้งานบนมือถือได้ง่ายขึ้นอยู่กับ และถ้ามีเว็บโฮสติ้งด้วยแล้วสามารถเขียนโปรแกรมผ่านอินเตอร์เน็ตที่ไหนก็ได้ หลักการง่ายคือสร้างไอคอนให้คลิก แล้วก็เขียนโค้ดให้ทำการสร้างโค้ดที่เราต้องการให้อัตโนมัติ เมื่อจบกระบวนการก็เพียงแค่บันทึกแล้วเรียกหน้าเว็บที่ต้องการทดสอบขึ้นมาแสดงผลได้ทันที ตอนนี้ยังติดเรื่อง drag &drop ทำให้ยังไม่คืบหน้าเท่าที่ควร คงต้องตัดเรื่องนี้ออกไปก่อน ทำระบบแบบธรรมดาไปก่อน แล้วค่อยพัฒนาอินเตอร์เฟซทีหลัง อีกไม่นานคงจะได้เห็นตัวต้นแบบ ที่จะสร้างขึ้นมาแบบบ้าน ให้ลองได้ใช้กันดู -------------------------------------------- ติดตามเรื่องราวการเขียนโปรแกรม PHP ได้ที่ https://www.youtube.com/user/PHPcodingAndDesign/channels เตรียมตัวก่อนเขียน PHP 5.5 https:

แนะนำการใช้ PHP TCPDF แก้ปัญหาสระอูหาย

สำหรับใครที่ต้องการฟอนต์ th sarabun (ไทยสารบัญ) เพื่อใช้งานกับ TCPDF ลองเข้าไปดูที่นี่ >> http://www.thaicreate.com/php/forum/109331.html สำหรับวิธีนำ tcpdf ไปใช้กับ codeigniter ลองอ่านเวอร์ชั่นภาษาอังกฤษดูครับ >> https://github.com/EllisLab/CodeIgniter/wiki/TCPDF-Integration แล้วสุดท้าย ถ้า PDF ออกมาแล้วสระอูหาย ไม่ต้องตกใจไปนะครับ ลองกับเว็บบราวเซอร์ทุกตัวดูก่อน ว่าผลลัพธ์เหมือนกันหรือไม่ เพราะผมเจอปัญหาสระอูหาย (สระอุ ยังแสดงได้ แปลกแฮะ) ในเว็บบราวเซอร์ Firefox เท่านั้น ไปลองกับ Chrome และ IE ยังแสดงผลถูกต้อง วิธีแก้ปัญหาของผมก็คือ ลองบันทึกเป็นไฟล์แทน $ file = "Download/My-File-Name.pdf";   $pdf -> Output ( 'Download/My-File-Name.pdf' , 'F' );   จากนั้นก็ Force Download ไปเลยครับ header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=" . urlencode(' My-File-Name .pdf')); header("Content-Type: application/octet-stream"); header(&qu

เมื่อไหร่ถึงจะต้องแยกโค๊ดออกไปสร้างฟังก์ชั่นใหม่?

       สำหรับการเขียนโปรแกรมนั้น เมื่อเราต้องเรียกใช้ข้อมูลจากฐานข้อมูลที่เดียวกันบ่อยๆ เราจะใช้วิธีสร้างฟังก์ชั่นแยกไปไว้เป็นไฟล์ต่างหาก แล้วหน้าไหนที่ต้องการก็โหลดไฟล์นี้ไปใช้งาน ตัวอย่างเช่น การนำรหัสสินค้า ไปค้นหาข้อมูลสินค้าต่างๆ เช่น สี ขนาด ราคา หรือชื่อสินค้ารหัสนั้นๆ เราก็เพียงส่งรหัสสินค้าเข้าไปฟังก์ชั่นที่เตรียมไว้ ก็จะได้ข้อมูลที่ต้องการมาทันที และหน้าอื่นๆ ก็สามารถโหลดไฟล์ฟังก์ชั่นนี้ไปเรียกใช้ได้ทันทีโดยไม่ต้องมาเขียนคำสั่งเรียกจากฐานข้อมูลใหม่ทุกครั้ง        นอกเหนือจากนั้นยังมีส่วนของการตรวจสอบเงื่อนไข if ..... else ที่หลายครั้งก็จำเป็นต้องสร้างเป็นฟังก์ชั่นเพื่อเรียกใช้ในหน้าเดียวกัน ในหลายๆส่วนด้วยกัน เช่น ตัวอย่างการตรวจสอบสถานะการยกเลิกรายการ $my_status = 9; $status = ""; if($my_status == 9){      $status = "Cancel"; } echo $status; หากมีการเรียกใช้จากหลายๆที่ เราก็ควรจะสร้างเป็นฟังก์ชั่นดีกว่า เพราะเมื่อเวลาผ่านไป การตรวจสอบสถานะอาจจะมีเงื่อนไขเพิ่มเข้ามาใหม่ด้วย ก็จะต้องมาไล่แก้โค๊ดกันหลายจุด แต่ถ้าสร้างเป็นฟังก์ชั่น ก็แก้โค๊ดเพ

การปรับโค๊ดที่ใช้แสดงผลในรูปแบบใหม่ ต้องมีการกำหนดวันที่เริ่มใช้งานด้วย

       หลังจากที่คิดถึงเรื่อง การกำหนดให้การแสดงผลในโปรแกรม ตรงกับที่พิมพ์เป็นเอกสารเก็บไว้ไม่ให้คลาดเคลื่อนกัน จากการแก้ไขข้อมูลหลักให้ถูกต้องและเป็นปัจจุบัน เช่น จากเดิมใช้คำว่า "ฐานข้อมูล" แต่ปรากฏว่าคำที่เหมาะกว่าคือ "ระบบฐานข้อมูล"         เมื่อเราเรียกข้อมูลเดิมมาแสดงก็จะเกิดการคลาดเคลื่อนจากที่เคยพิมพ์เก็บเป็นเอกสารไว้ เพราะโปรแกรมอ้างอิงไอดี แล้วดึงข้อมูลชื่อมาแสดง แต่กลับได้ข้อมูลที่ผ่านการอัพเดตไปแล้ว        เรื่องนี้แก้ไขได้ด้วยการสร้างวันที่บันทึกข้อมูลประจำเรคอร์ดไว้ครั้งล่าสุด เพื่อใช้เทียบกับวันที่บันทึกการเปลี่ยนแปลงข้อมูลหลักครั้งล่าสุด หากเปรียบเทียบแล้วปรากฏว่ามีการเปลี่ยนแปลง ก็ให้เรานำข้อมูลเดิมก่อนหน้านั้นมาแสดงแทน เพียงเท่านี้ข้อมูลที่แสดงในโปรแกรม ก็จะถูกต้องและตรงกับข้อมูลในเอกสารที่เคยพิมพ์ไปแล้ว        หลังจากนั้นไม่นาน ก็เกิดคำถามขึ้นมาอีกว่า "กรณีโปรแกรมมีการเพิ่มส่วนของการตรวจสอบใหม่" จะเกิดอะไรขึ้นกับข้อมูลเดิมที่เคยพิมพ์ไว้แล้ว เช่น        "กรณีข้อมูลไม่สมบูรณ์ จะไม่ให้พิมพ์"        แน่นอนว่าพอเรียก

Blue Griffon โปรแกรมสำหรับเขียนโค๊ด HTML และจัดวางออกแบบหน้าเว็บแบบคลิกวาง ใช้แทน Dreamweaver บน Ubuntu ก็ค่อนข้างดีทีเดียว

โปรแกรมใช้ทดแทน Dreamweaver สำหรับใช้บน Ubuntu สำหรับโปรแกรม Blue Griffon ได้ลองใช้งานดูแล้วค่อนข้างจะใช้ง่ายกว่าโปรแกรมแจกฟรีตัวอื่นๆ และมีเวอร์ชั่นสำหรับ Linux ด้วยนะครับ จากข้อมูลในหน้า Download จะรองรับถึง Ubuntu 13.04 แต่ลองใช้กับ Ubuntu 14.04 ก็ไม่มีปัญหาแต่อย่างใด สำหรับการติดตั้งนั้น กรณีดาวน์โหลดมาแล้วติดตั้งเอง ด้วยวิธีจากเว็บนี้นะครับ http://askubuntu.com/questions/304636/need-help-installing-bluegriffon หากติดตั้งเองไม่ได้(ผมก็ติดตั้งไม่เป็นเหมือนกัน ~_~") ให้ลองทำตามวิธีที่ 2 นี้ดูอีกที http://ubuntuhandbook.org/index.php/2013/07/install-bluegriffon-ubuntu-ppa/ สุดท้ายละ ผมใช้วิธีนี้ http://linuxg.net/how-to-install-bluegriffon-1-7-2-on-ubuntu-14-04-ubuntu-12-04-and-derivative-systems/ รับรองใช้งานได้เลยครับ ^^

การเขียน if หรือ else เกี่ยวกับระยะเวลามันมีสิ่งที่ต้องคิดประกอบด้วยนะ

"ทำไมไม่มีความเคลื่อนไหว แต่ผ่านเงื่อนไขเราไปได้" เรื่องมีอยู่ว่า จะเขียนโค๊ดตรวจสอบเงื่อนไขตรวจสอบความเคลื่อนไหวของข้อมูล ถ้าผ่านมาเกิน 6 เดือนให้แจ้งเตือนถึงสิ่งที่อาจจะทำให้เกิดข้อผิดพลาด หากผู้ใช้ยังฝืนดันทุรังใช้ข้อมูลนั้นต่อไป IF Month > 6 THEN      DISPLAY แบร่ๆๆๆ ข้อมูลเก่าเกินไปแล้วนะ ไปตรวจสอบหน่อยซิว่ายังใช้ได้จริง END IF Month = ระยะเวลาที่ทำรายการครั้งสุดท้ายเทียบกับปัจจุบัน ถ้ากำหนดให้วันที่ล่าสุด คือ 2014-05-15 และวันที่ปัจจุบัน คือ 2014-09-04 Month จะมีค่าเท่ากับผลต่างของเดือนคือ 3 เดือนกว่า ซึ่งจะไม่นับเศษ Month ก็จะได้เท่ากับ 3 กรณีนี้ก็คือสามารถทำรายการได้ปกติ เพราะว่ามีการทำรายการไม่เกิน 6 เดือน นั่นก็คือข้อมูลยังใหม่ๆสดๆร้อนๆอยู่นั่นเอง แล้วถ้าเพิ่งผ่านมาไม่กี่วันอย่างกรณีนี้ล่ะ ถ้ากำหนดให้วันที่ล่าสุด คือ 2014-09-01 และวันที่ปัจจุบัน คือ 2014-09-04 เห็นมั้ยผ่านมาแค่ 4 วัน ผลต่างของเดือนก็คือ 0 ซึ่งก็ยังไม่เกิน 6 เดือน ก็ทำรายการได้ปกติ และแล้วก็เกิดปัญหากับเลข 0 ขึ้นจนได้ กรณีที่ข้อมูลเก่า เพิ่มเอาไว้เฉยๆ ไม่ได้ทำรายการ

PHP CI MANIA