17.7.09

ตัวอย่างการใช้งาน ChartDirector (ตอนที่ 1)

เห็นถามกันมามาก หลังจากที่บทความเรื่อง “ มาสร้างกราฟให้ PHP ด้วย ChartDirector กันเหอะ ” ก็เลยอดไม่ได้ที่จะไม่เขียนต่อ เพราะถามกันมาเยอะมาก เอาเป็นว่าเรามาดูวิธีการใช้งานจริงๆ (เพราะผมทำอยู่เป็นประจำ) ของ ChartDirector กันดีกว่า เอาแบบทีละขั้นตอน หมดไส้หมดพุงไปเลย แต่ต้องขอออกตัวไว้ก่อนนะครับ ผมไม่ได้เป็นโปรแกรมเมอร์แต่กำเนิด ฉะนั้นบางครั้งโค๊ดของผม มันจะดูถึกๆ ไปบ้าง แต่อย่าได้ไปมองสาระตรงนั้น ผมอยากให้มองแนวคิดการเขียนโปแกรม และการนำไปใช้งานมากกว่า ก็อย่างที่บอก เรามัน “โปรแกรมเมอร์(จำเป็น)” นี่ครับ  ถ้าใครยังไม่ได้ติดตั้ง ChartDirector ก็ให้กลับไปอ่านบทความ “ มาสร้างกราฟให้ PHP ด้วย ChartDirector กันเหอะ ” ก่อนนะครับ  ผมทดลองแล้วใช้ได้ ติดตั้งได้จริง ส่วนตัว library ของ ChartDirector ก็หาดาวน์โหลดได้จากแบนเนอร์ที่ขึ้นตามอยู่ในเว็บนี่แหละครับ ไม่ต้อง search หาเอาใหม่ เจ้าของบริษัทเค้ามาเอง รับรองของแท้ ไม่ต้อง crack ไม่ต้อง hack จัดไปอย่ามัวลังเล ให้เสียของ

เรามาเริ่มต้นด้วยแนวคิดที่ว่า ผมมีงานประจำที่จะต้องดึงข้อมูลจาก Oracle server จากของบริษัทตัวเอง ซึ่งเป็นดาต้าเบสหลัก ดาต้าเบสใหญ่ แล้วเข้ามาเก็บไว้ใน ดาต้าเบส Mysql แผนกของตัวเอง ซึ่งวันหลังผมจะมาอธิบาย การใช้ PHP ติดต่อกับ Oracle server โดยให้ PHP ทำงานแบบเป็น period ดึงข้อมูลมาเป็นระยะๆ ส่วนเจ้าของเว็บก็นั่งกระดิกนิ้วรอ  ผิวปากด้วยอย่าลืม อิอิอิ.

เผลอแพล๊บเดียว โม้อีกแหละ เอาเป็นว่า พอเราได้ข้อมูลจาก Oracle server แล้วมาเก็บใน MySQL server แล้ว (ในส่วนของการออกแบบฐานข้อมูลในการเก็บ ไม่ขออธิบายนะ) เราก็จะทำการดึงข้อมูลจาก Mysq ให้มาทำการแสดงผล ตาม condition ที่ user หรือผู้ใช้งาน ทำการกำหนดจากการคลิ๊กเลือกว่าจะให้แสดงข้อมูลจากวันไหน เลือกดูค่าใดบ้าง ค่าไหนไม่ต้องการ ซึ่งข้อกำหนดที่ได้จาก user นั้น เราจะเอาไปเป็นตัว select ข้อมูลจาก MySQL server โดยใช้ความรู้ด้านภาษา SQL (ภาษาที่เอาไว้ค้นหาข้อมูลในดาต้าเบส) เมื่อเราได้ข้อมูลจากการ query (ค้นหา)  แล้ว ซึ่งข้อมูลที่ได้มักจะมาในรูป array (ข้อมูลที่มีมิติ)  เราก็จะอาศัยการจัดและสกัดข้อมูลออกมาจะ for loop while loop  if elese  อะไรก็ตามแต่ แล้วจับยัดใส่ไปใน function  ของ  ChartDirector เพียงเท่านี้ เราก็จะได้รายงานที่เหนือชั้นบนหน้า web application (ปลายปี ก็รอเลื่อนตำแหน่งได้เลยครับ พี่น้อง ได้มาแล้ว 2 ขั้น)

อธิบายด้วยคำพูด อาจจะงง มาดูรูปภาพประกอบกันดีกว่า มีคนเค้าบอกว่า “รูปหนึ่งรูปอธิบายได้มากกว่าคำพูดล้านคำ” (อยากให้เป็นอย่างงั้นมั่งจัง แต่ google ไม่ชอบแน่ๆ)

database_structure รูปนี้ เป็นฐานข้อมูลที่ผมวางโครงสร้าง โดยอาศัยข้อมูลหลักจาก Oracle server แล้วเอาบางส่วนของข้อมูลที่ต้องการมาเก็บไว้ที่เครื่องตัวเองที่เป็น MySQL

ในส่วนของหน้า web application ซึ่งเป็นส่วนที่ต้องทำการโค๊ดโปรแกรม PHP script ลงไป เพื่อทำการดึงข้อมูลจาก MySQL server ตาม condition ที่ user เลือกจากหน้าเว็บ แล้วส่ง request เข้ามาที่ Appache server ของเราให้ทำการ query ข้อมูล ตามที่ user ต้องการอยากดู ตรงจุดนี้ เป็นการออกแบบหน้าตา web application ว่าจะให้ user สามารถเลือกอะไรได้มั่ง อะไรเลือกถูกบังคับให้เลือก ต้องอาศัยศิลปะ เข้ามาเกี่ยวข้อง เพราะเราต้องทำให้ user ใช้งานได้ง่าย ไม่เกิดความสับสน

imageรูปนี้แสดงให้เห็นกระบวนการในการสร้างรายงานที่เป็นกราฟ 

เดี๋ยววันนี้ขอจบกระบวนการสร้างไว้ก่อน คราวหน้ามาว่ากันต่อ เรื่องของโค๊ดล้วนๆ เหนื่อยแหละ แล้วก็ใกล้จะสอบแล้วด้วย ขอตัวไปอ่านหนังสือก่อนแล้วกันครับ

0 ความคิดเห็น:

Post a Comment

 

เกี่ยวกับฉัน(ไหมเนี้ย)

My photo

สวัสดีครับ ชื่อเปิ้ลนะครับ ถ้ามีอะไรให้ช่วยเหลือได้ ก็จะช่วยครับ
ผมได้สร้างบล๊อกไว้ เพื่อเก็บรวบรวมความรู้ และประสบการณ์ในการทำงานครับ แวะไปเยี่ยมชมกันได้ครับ http://mechacity.blogspot.com และบล๊อก http://faker-programmer.blogspot.com ครับ

รายการบล๊อกอื่นๆ

  • Solved: error: 'TKD2' was not declared in this scope, LIFA_Base compile error - วันนี้ จะมาเล่าถึงปัญหาที่เจอในการเบิร์นโค๊ด LIFA_Base ที่เราใช้ในการทำให้ Arduino ของเราสามารถรับคำสั่งจาก LabVIEW ได้ ปัญหานี้ เริ่มเกิดขึ้นตอนที่ Ard...
  • Type-Fu : Typing practice game online - หากใครที่สนใจ หรือจะต้องทำงานเกี่ยวกับคอมพิวเตอร์ หนึ่งในความจำเป็นก็คือ จะต้องเรียนรู้ที่พิมพ์สัมผัสได้ เพราะการที่พิมพ์สัมผ้สได้ มันได้ประโยชน์หลายๆ อย...

Blog อื่นๆ ที่น่าติดตาม

เหล่าบรรดา Blogger