001.
1, 'name' => 'ห้องประชุม 1'); 026.$room[] = array('id' => 2, 'name' => 'ห้องประชุม 2'); 027.$room[] = array('id' => 3, 'name' => 'ห้องประชุม 3'); 028.$room[] = array('id' => 4, 'name' => 'ห้องประชุม 4'); 029.$room[] = array('id' => 5, 'name' => 'ห้องประชุม 5'); 030.//-- สิ้นสุดการจัดรูปแบบข้อมูลในลูป while 031. 032. 033.//-- ตารางการจอง 034.//-- ส่วนที่ดึงมาจากฐานข้อมูล ในลูป while 035.//$array[{ไอดีห้องประชุม}][] = array('start_time' => '', 'end_time' => '', 'title' => ''); 036.$booking = array(); 037.$booking[1][] = array('start_time' => '08:10', 'end_time' => '11:15', 'title' => 'อบรม เทคโนโลยีสารสนเทศ และการสื่อสาร'); 038.$booking[1][] = array('start_time' => '13:35', 'end_time' => '15:20', 'title' => 'วาระที่ 1'); 039.$booking[2][] = array('start_time' => '11:45', 'end_time' => '16:10', 'title' => 'หัวข้อพิเศษเกี่ยวกับวิทยาการคอมพิวเตอร์'); 040.$booking[3][] = array('start_time' => '12:15', 'end_time' => '14:30', 'title' => 'สรุปโครงการ'); 041.$booking[4][] = array('start_time' => '15:00', 'end_time' => '17:00', 'title' => 'อบรม ระบบฐานข้อมูล'); 042.$booking[5][] = array('start_time' => '08:30', 'end_time' => '12:00', 'title' => 'จัดกิจกรรมสัมมนาวิชาการ'); 043.//-- สิ้นสุดการจัดรูปแบบข้อมูลในลูป while 044. 045./* 046.** คำนวณหาตำแหน่งซ้ายสุด และความกว้างที่จะแสดงในช่องเวลา 047.** ข้อกำหนดของการสร้างจำนวนคอลัมน์ เพื่อแสดงแถบเวลา 048.** 1 คอลัมน์ = ชั่วโมง, จะมีขนาดกว้าง 60px 049.** ต้องหาจุดเริ่มต้น css left 050.** ต้องหาความกว้าง css width 051.** เวลาเริ่มต้นคือ 7.00 ดังนั้นต้องลบ 7x60(420 ออกทุกครั้งที่หา left) * แต่เมื่อมีช่องก่อนหน้า ให้เพิ่มจำนวนที่ต้องลบออกมากขึ้น 052.** ความกว้าง ให้ใช้ค่า end_time - start_time 053.*/ 054.Class SetTimeObject 055.{ 056.public $startPx; 057.public $diff; 058.public $leftMin = 0; 059. 060.public function getWidthPos($startTime, $endTime){ 061.$s = explode(":", $startTime); 062.$this->startPx = ((int)$s[0] * 60) + (int)$s[1]; 063. 064.list($sTime1, $sTime2) = explode(":", $startTime); 065.list($eTime1, $eTime2) = explode(":", $endTime); 066.$sTime = (float)$sTime1.".". ($sTime2*100)/60; 067.$eTime = (float)$eTime1.".". ($eTime2*100)/60; 068. 069.$this->diff = ($eTime - $sTime); 070.$l = ($this->startPx - 420) - $this->leftMin; 071.$w = ($this->diff * 60); 072.return array('left' => $l, 'width' => $w); 073.} 074.} 075. 076.?>
077.<!doctype html> 078.
079.080.
081.
ตารางแสดงช่วงเวลาการใช้ห้องประชุม - www.sunzan-design.com
082.114.115.116.
'; 121.foreach($room as $row){ 122.echo ''; 123.echo ''.$row['name'].''; 124.echo ' 125.
'. implode("
", $timeArr) .'
126.
|