Recursive กับโครงสร้างหน่วยงานในระบบบุคลากร ตอนที่ 2 การแสดงผลข้อมูลแบบวนซ้ำ

ครั้งที่แล้ว ผมพูดถึง การดึงโครงสร้างหน่วยงานแบบ Recursive ดังนั้นการแสดงผลก็ต้องเป็นแบบ Recursive เช่นกันครับ

ลุยกันเลย!

ให้สร้างหน้า View มา 1 หน้าเพื่อแสดงผลโครงสร้างหน่วยงาน ดังรูป

7

บรรทัดที่ 2 คือ การเรียกใช้ฟังก์ชัน Recursive ให้แสดงข้อมูลโครงสร้างหน่วยงาน

บรรทัดที่ 4 เป็น ฟังก์ชัน Recursive รับค่า $rs_dept ในรูปแบบ Object

บรรทัดที่ 5 คือ การแสดงผลชื่อหน่วยงานย่อยนั้นๆ

บรรทัดที่ 9 – 11 เป็นการตรวจสอบ ว่าหน่วยงานดังกล่าวมีหน่วยงานย่อย (Child) หรือไม่
ถ้ามี ให้เรียกฟังก์ชัน Recursive เพื่อแสดงชื่อหน่วยงานในลำดับชั้นถัดไป (Child)

ผลลัพธ์ที่ได้

มหาวิทยาลัยบูรพา

คณะพยาบาลศาสตร์

คณะวิทยาการสารสนเทศ

สาขาวิชาเทคโนโลยีสารสนเทศ

สาขาวิชาวิทยาการคอมพิวเตอร์

สาขาวิชาวิศวกรรมซอฟต์แวร์

คณะวิทยาศาสตร์

หากต้องการแสดงแบบย่อหน้าตามลำดับชั้น

ในบรรทัดที่ 7 รูปข้างต้น ให้ปรับการแสดงผลโดยใช้ deptLevel กำหนดเป็นย่อหน้าได้ (อาจเป็น margin หรือ padding ก็ได้) เช่น

มหาวิทยาลัยบูรพา มี Level เป็น 1 (padding = 1 x 10 px)
คณะพยาบาลศาสตร์ คณะวิทยาการสารสนเทศ และคณะวิทยาศาสตร์ มี Level เป็น 2 (padding = 2 x 10 px)สาขาวิชาเทคโนโลยีสารสนเทศ สาขาวิชาวิทยาการคอมพิวเตอร์ และสาขาวิชาวิศวกรรมซอฟต์แวร์ มี Level เป็น 3 (padding = 3 x 10 px)

ผลลัพธ์ คือ

มหาวิทยาลัยบูรพา

คณะพยาบาลศาสตร์

คณะวิทยาการสารสนเทศ

สาขาวิชาเทคโนโลยีสารสนเทศ

สาขาวิชาวิทยาการคอมพิวเตอร์

สาขาวิชาวิศวกรรมซอฟต์แวร์

คณะวิทยาศาสตร์

ขอบคุณสำหรับการติดตามครับ โอกาสหน้าเจอกันใหม่ครับ ^__^

Author : นายศักดา บุญภา (มิวสิค)