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

บทความ

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

การเขียนโปรแกรม PHP คำนวณราคาสินค้าที่ได้รับส่วนลด เมื่อซื้อครบตามจำนวนที่กำหนด

        วันก่อนรู้สึกอยากกินหอยแครงลวกจิ้มน้ำจิ้มซีฟู๊ดสูตรแม่ยาย เลยแวะไปหาซื้อที่ห้างฯใกล้บ้าน ช่วงนี้ราคาสูงเกือบเท่าตัวครับ ชั่งใจอยู่นานว่าจะซื้อกิโลฯเดียว หรือสักสองกิโลกรัมดี เพราะเห็นว่าจะมีส่วนลดให้ถ้าซื้อครบสองกิโลกรัม        ลองคิดดูแล้วถ้าซื้อตามโปรโมชั่น ก็ถูกลงไปอีก 6 บาท พอคำนวณไปคำนวณมาก็เลยคิดว่าน่าจะลองเอามาเขียนโปรแกรมภาษา PHP  เป็นซอร์สโค๊ดคำนวณส่วนลดสินค้าแบบง่ายๆ มาแบ่งปันแนวคิดกันดูสักหน่อย เพราะบางครั้งการเขียนเว็บขายของออนไลน์ ก็จะต้องใช้ PHP สร้างระบบคำนวณราคาที่หลังร้านสำหรับเจ้าของร้านด้วย

PHP คำนวณค่าปรับ เมื่อส่งคืนหนังสือเลยกำหนดส่ง โดยอ้างอิงตามวันที่ปัจจุบัน

       วันก่อนยืมหนังสือมาสี่เล่ม แต่ดันเอาไปส่งเลยวันกำหนดคืน เลยโดยค่าปรับเล่มละบาทต่อวัน วันนี้เลยลองมาเขียนโปรแกรม PHP คำนวณค่าปรับกันเล่นๆ  มาดูซอร์สโค๊ดกันเลยละกันครับ  

การเขียนโปรแกรม PHP เพื่อดึงค่าเวลาออกจากวันที่ที่มีเวลาต่อท้ายด้วยฟังก์ชั่น explode(), strrchar(), substr()

          บางครั้งอาจจะมีงานที่ต้องการให้เราเขียนโปรแกรมแสดงวันที่บนหน้าเว็บเพจ หรือให้เขียนโปรแกรมแสดงเวลาปัจจุบัน หรือเวลาที่ทำรายการบนหน้าเว็บไซต์ หรือหน้ารายงานต่างๆ ซึ่งวิธีการปกติที่ผมใช้คือการแยกข้อความ เพื่อแยกวันที่ออกจากเวลาด้วยช่องว่าง จากนั้นก็จะได้อาร์เรย์ไปใช้งานต่อไป วิธีที่ 1 ใช้ฟังก์ชั่น explode() ซึ่งจะคืนค่ากลับมาเป็นอาร์เรย์ เราก็จะต้องสร้างตัวแปรรับค่าและเมื่อจะเรียกใช้ข้อมูลในตัวแปรก็จะใช้การอ้างอิงตัวเลขลำดับที่ได้จากการแยกข้อความ <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title>ทดสอบฟังก์ชั่น PHP แยกคำที่ต้องการ ออกจากข้อความทั้งหมดแบบมีตัวคั่น ด้วยฟังก์ชั่น explode()</title> </head> <body> <?php $date = '2014-06-21 13:40:31'; $dataArray = explode(' ', $date); echo "เวลา คือ ", $dataArray[1]; ?> </body> </html>

การเขียนโค๊ด php ที่แทรกรวมกับ html จะสามารถเขียนได้อีกแบบที่อ่านง่ายกว่า

การสร้างเว็บไซต์ สักเว็บหนึ่ง จะประกอบด้วยการเขียนโค๊ดลงไปในเว็บเพจหลายๆหน้า และโค๊ดที่ใช้เขียนโปรแกรมนั้น บางครั้งก็แสนจะสร้างความมึนงงลายหูลายตาซะเหลือเกิน สำหรับการเขียนเว็บ ด้วยภาษา php นั้นจะมีวิธีทำให้อ่านโค๊ดง่ายขึ้นเมื่อปะปนกับ html ดังนี้ แบบเดิมที่ใช้วงเล็บปีกกา foreach($array as $key=>$value){      //.....โค๊ดอื่นๆ }

เขียนเว็บด้วย AJAX เวลาโหลดข้อมูลใหม่ ควรสั่งให้ Scrollbar วิ่งไปที่บรรทัดแรกด้วย

จุดเล็กๆ ที่ไม่สำคัญแต่ขัดใจกระผมอย่างยิ่งเกี่ยวกับการสร้างเว็บเพจ หรือเว็บไซต์ที่ใช้การโหลดข้อมูลแบบ AJAX ก็คือ "การเปลี่ยนหน้า" หรือโหลดข้อมูลหน้าใหม่ ปกติเราคลิกที่ลิงค์ก็จะโหลดหน้าใหม่ แล้วก็แสดงข้อมูลตั้งแต่บรรทัดแรก แต่เว็บที่ใช้การเขียนโปรแกรมรับส่งข้อมูลด้วย AJAX โหลดข้อมูลเพจใหม่ มักจะลืมไปว่า บางครั้งผู้ใช้งานกำลังดูข้อมูลอยู่ตรงบรรทัดสุดท้าย ที่ห้างไกลจากบรรทัดแรกเยอะมากๆ พอคลิกเพื่อไปหน้าใหม่ปุ๊บ ก็จะเจอไม่มีการเหลี่ยนหน้าไปไหน มีแต่ความว่างเปล่า ที่ไหนได้ ข้อมูลมาเปลี่ยนไปแล้ว แต่ไม่ได้สั่งให้สกอบาร์วิ่งไปด้านบน รู้สึกขัดใจกับหลายๆเว็บแฮะ (รวมทั้งเว็บที่กระผมเองดูแลด้วย) ลองเอาโค๊ดนี้ ไปปรับใช้ดูเถอะนะ ^____^

SQL for MySQL : แสดงกลุ่มรายการที่มีรหัสประเภทต่างกัน

กันลืม!! การเขียนโปรแกรมบางครั้งก็มีกรณีที่ไม่คาดคิดเกิดขึ้นได้ ในกรณีนี้ผมได้แก้ไขรายงานหน้าหนึ่งซึ่งเป็นกลุ่มเอกสารที่มีการจ่ายประเภทเดียวเท่านั้น แต่พอลองทดสอบดูก็พบว่าผลรวมผิด เพราะมีกรณีที่กลุ่มเอกสารนั้นๆ มีหลายประเภทจะเกิดการวนลูปผลรวมเกินจำนวนจริง ก็เลยต้องมาค้นหารายการในฐานขอมูลเพื่อเลือกทดสอบข้อมูลที่มีการเบิกจ่ายหลายประเภทลองมาดูกันครับ ว่าจะใช้คำสั่ง SQL ฟังก์ชั่นไหนกันบ้าง นับจำนวน รายการของกลุ่มเอกสาร แต่ละรหัส SELECT id_doc_group, id_type_pay, COUNT(*) FROM `my_table` WHERE LENGTH(id_doc_group) > 4 GROUP by id_doc_group