การเรียกใช้ฟังก์ชั่นแสดงรายงานแนวนอน แสดงผลรวมผู้ใช้บริการ แยกตามประเภท มาดูขั้นตอนการเรียกใช้งานฟังก์ชั่นกันแบบทีละขั้นตอนกันครับ ส่วนของ Model public function report_summary($begin_date, $final_date) { $begin_date = setDateToStandard($begin_date); $final_date = setDateToStandard($final_date); //SET data list $left_join = "LEFT JOIN group_enrolment ON enrolment.Enrolment_id = group_enrolment.Enrolment_id"; $where_search = "WHERE begin_date >= '$begin_date' AND final_date <= '$final_date'"; //Group data by vertical_id and horizontal_id $summary_config = array( 'table_name' => 'enrolment', 'vertical_id' => 'enrolment.Enrolment_id', 'vertical_name' => 'enrolment.organization', 'horizontal_id' => 'group_enrolment.`type`', 'summary_field' => 'group_enrolment.num',
สำหรับตัวอย่างนี้จะเป็นการ JOIN ตาราง 2 ตาราง 1. tb_reject_hd 2. tb_reject_desc ซึ่งจะเชื่อมกันด้วยฟิลด์ docno จะเห็นว่าเราสามารถคิวรี่เรียกข้อมูลออกมาได้ตอนที่ยังไม่ใส่ ORDER BY แต่เมื่อใส่ ORDER BY เข้าไป จะหมุนค้างจนหน้าเว็บหยุดทำงาน จากนั้นก็ลองเพิ่ม INDEX ให้กับฟิลด์ docno ในตาราง tb_reject_desc ซึ่งในตัวอย่างนี้จะสร้างตารางใหม่ขึ้นมาจากตารางเดิม เปลี่ยนชื่อเป็น tb_reject_desc_with_index และทำการเพิ่ม INDEX KEY เข้าไป เมื่อทดสอบคิวรี่แบบมี ORDER BY จะเห็นว่าสามารถแสดงผลได้ทันที จากการสังเกตตัวเลขเวลาในการประมวลผล จะเห็นได้ว่าแบบไม่ใช้ ORDER BY จะทำงานเร็วกว่า แต่ในการทำงานส่วนใหญ่ก็มักจะต้องใช้ ORDER BY อย่างหลีกเลี่ยงไม่ได้ เช่นกรณีค้นหา แบบเรียงลำดับ ตัวอย่างโค้ดคิวรี่ข้อมูลจากตารางที่ Add Index Key แล้ว <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Add Index Key</title> </head> <body> <h2>ORDER BY with INDE