Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > อยากให้ปฏิทิน แสดงเป็นแนวนอน ช่วยด้วยครับ บรรทัดด้านล่าง เลข 0 ทางซ้ายคือ จำนวนเดือนก่อนเดือนปัจจุบันที่จะให้แสดงออกมา



 

อยากให้ปฏิทิน แสดงเป็นแนวนอน ช่วยด้วยครับ บรรทัดด้านล่าง เลข 0 ทางซ้ายคือ จำนวนเดือนก่อนเดือนปัจจุบันที่จะให้แสดงออกมา

 



Topic : 034270



โพสกระทู้ ( 54 )
บทความ ( 0 )



สถานะออฟไลน์




Code (PHP)
<?php echo "<?xml version=\"1.0\" encoding=\"windows-874\"?".">"; ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<title>ปฏิทิน ฝ่ายบุคคลและธุรการ</title>
<style>
#calendar {
	text-align:center;
	font:normal 11px MS Sans Serif;
	position:relative;
	width:180px;
}
#calendar .calendarDetail {
	border:1px solid #aaa;
	margin:0 0 1em 0;
	padding:0 0 0.3em 0;
	width:100%;
	color:#000;
	background-color:#fff;
}
#calendar .calendarDetail .title td, #calendar .calendarDetail .title a {
	font-weight:bold;
	font-size:1.1em;
	color:#fff;
	background-color:#aaa;
	padding:0.1em;
	text-decoration:none;
}
#calendar .calendarDetail .title1 td {
	border-bottom:1px dashed #ddd;
	padding:0.2em;
}
#calendar .calendarDetail .week td, #calendar .calendarDetail .week a {
	padding:0.2em;
	text-decoration:none;
	color:#000;
	background-color:inherit;
}
#calendar .calendarDetail .week a:hover {
	color:#000;
	background-color:#eee;
}
#calendar .calendarDetail .lastMonth a, #calendar .calendarDetail .nextMonth a {
	color:#aaa;
	background-color:#eee;
}
#calendar .calendarDetail .weekend a {
	color:#f00;
	background-color:inherit;
}
#calendar .calendarDetail .event a {
	font-weight:bold;
	color:#87CEEB;
	background-color:inherit;
	text-decoration:underline;
}
#calendar .calendarDetail .today a {
	color:#fff;
	background-color:#808080;
	font-weight:bold;
}
#calendar .calendarDetail .calendarEvent {
	display:none;
	margin:0;
	padding:0.3em;
	position:absolute;
	width:180px;
	color:#000;
	background-color:#fff;
	text-align:left;
	border:1px solid #aaa;
	font-weight:normal;
}
#calendar .calendarDetail .calendarEvent .date {
	font-style:MS Sans Serif;
                     font-weight:bold;
                     color:#6699FF;
}
#calendar .calendarDetail .calendarEvent .edit {
	float:right;
}
#calendar .calendarDetail .calendarEvent a {
	font-weight:normal;
	color:#000;
	background-color:#fff;
}
#calendar .calendarDetail .calendarEvent li {
	margin:0 0 1em 0;
	list-style:disc inside none;
}
#calendar .calendarDetail td:hover > .calendarEvent {
	display:block;
}

#calendarForm {
	font:normal 11px MS Sans Serif;
	background-color:#494949;
	color:#fff;
}
#calendarForm .title {
	text-align:center;
	color:#eee;
	background-color:#808080;
	padding:0.3em;
	margin:0 0 1em 0;
	font-weight:bold;
}
#calendarForm .credit {
	text-align:right;
	margin:0;
	padding:0 1em 0.5em 0;
	color:#C0C0C0;
	background-color:inherit;
}
#calendarForm .credit a {
	color:#C0C0C0;
	background-color:inherit;
	text-decoration:underline;
}
#calendarForm .credit a:hover {
	text-decoration:none;
}
#calendarForm form {
	margin:0;
	padding:0 0.5em;
	color:#eee;
	background-color:inherit;
}
#calendarForm form br {
	clear:both;
}
#calendarForm input, #calendarForm select, #calendarForm textarea {
	font:normal 11px MS Sans Serif;
	margin:0 0 0.5em 0;
}

</style>
</head>

<body topmargin="0" leftmargin="0" bgcolor="#FFFFCC">

<p align="center"><u><b><font face="MS Sans Serif" size="5" color="#0000FF"> ปฏิทิน 
  ฝ่ายบุคคลและธุรการ</font></b></u></p>
<center>
<?php

// ใส่ URL ของไฟล์ calendar.php
include('calendar.php');
$calendar = new WingedCalendar();

// บรรทัดด้านล่าง เลข 0 ทางซ้ายคือ จำนวนเดือนก่อนเดือนปัจจุบันที่จะให้แสดงออกมา
// บรรทัดด้านล่าง เลข 0 ทางขวาคือ จำนวนเดือนถัดจากเดือนปัจจุบันที่จะให้แสดงออกมา
// กรณีจะให้แสดงแค่เดือนปัจจุบัน ใส่ 0 ทั้งด้านซ้ายและขวา
$calendar->show_calendar(3,3);

?>
</center>

</body>

</html>




calendar



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-11-12 11:50:49 By : tim View : 1184 Reply : 2
 

 

No. 1



โพสกระทู้ ( 2,794 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ลองปรับที่ไฟล์ calendar.php ดูหรือยังครับ






Date : 2009-11-12 11:54:59 By : panyapol
 


 

No. 2



โพสกระทู้ ( 54 )
บทความ ( 0 )



สถานะออฟไลน์


calendar.php ช่วยดูให้หน่อยครับ ปรับตรงไหนครับ

Code (PHP)
<?php
$cal_cfg = array();
$cal_cfg['path'] = str_replace('\\', '/', dirname(__FILE__));
include($cal_cfg['path'] . '/config.php');

class WingedCalendar {
	var $templates;
	var $months;
	var $sunday_endweek;
	var $datapath;
	var $htpath;
	var $password;
	var $timezone;
	
	function WingedCalendar() {
		global $cal_cfg;
		$this->templates = $cal_cfg['template'];
		$this->password = $cal_cfg['password'];
		$this->sunday_endweek = $cal_cfg['sunday_endweek'];
		$this->months = $cal_cfg['month'];
		$this->timezone = $cal_cfg['timezone'];
		$this->datapath = $cal_cfg['path'] . '/data.txt';
		$this->htpath = str_replace($cal_cfg['document_root'], '', $cal_cfg['path']);
	}
	
	function getDate($time=0) {
		return $time==0? getdate(time() + $this->timezone*3600-intval(date('Z'))) : getdate($time + $this->timezone*3600-intval(date('Z')));
	}
	
	function getNumberOfDays($month, $year) {
		$numday = 31;
		if ($month==4 || $month==6 || $month==9 || $month==11) {
			$numday = 30;
		} else if ($month==2) {
			$numday = $year%4!=0 || ($year%100==0 && $year%400!=0)? $numday = 28 : 29;
		}
		return $numday;
	}

	function getMonthDetails($month, $year) {
		$details = array();
		$details['mon'] = $month;
		$details['year'] = $year;
		$details['days'] = $this->getNumberOfDays($month, $year);
		$details['month'] = $this->months[$month-1];
		$tmp = $this->getDate(gmmktime(0, 0, 0, $month, 1, $year));
		$details['first'] = $tmp['wday'];
		$details['last']['mon'] = $month-1;
		$details['last']['year'] = $year;
		$details['next']['mon'] = $month+1;
		$details['next']['year'] = $year;
		if ($month==1) {
			$details['last']['mon'] = 12;
			$details['last']['year']--;
		} else if ($month==12) {
			$details['next']['mon'] = 1;
			$details['next']['year']++;
		}
		$details['last']['days'] = $this->getNumberOfDays($details['last']['mon'], $details['last']['year']);
		return $details;
	}

	function getEvent($id) {
		$events = array();
		$lines = file($this->datapath);
		for ($i=0, $n=count($lines); $i<$n; $i++) {
			if (trim($lines[$i])=='<event>') {
				if (trim($lines[++$i])==$id) {
					$events['id'] = $id;
					list($events['day'], $events['month'], $events['year']) = explode('-', trim($lines[$i+1]));
					list($events['hr'], $events['min']) = explode(':', trim($lines[$i+2]));
					$events['message'] = '';
					for ($i+=3;; $i++) {
						if (trim($lines[$i])=='</event>') break;
						$events['message'] .= $lines[$i];
					}
					$events['message'] = htmlspecialchars(stripslashes($events['message']), ENT_QUOTES);
					break;
				}
			}
		}
		return $events;
	}
	
	function getMonthEvents($month, $year) {
		$events = array();
		$lines = file($this->datapath);
		$k = 0;
		$sorts = array();
		for ($i=0, $n=count($lines); $i<$n; $i++) {
			if (trim($lines[$i])=='<event>') {
				list($d, $m, $y) = explode('-', trim($lines[$i+2]));
				if (($m==$month || $m==0) && ($y==$year || $y==0)) {
					$sorts[$k] = trim($lines[$i+3]);
					list($h, $min) = explode(':', $sorts[$k]);
					$events[$k]['id'] = trim($lines[$i+1]);
					$events[$k]['day'] = $d;
					$events[$k]['month'] = $m;
					$events[$k]['year'] = $y;
					$events[$k]['hr'] = $h;
					$events[$k]['min'] = $min;
					$events[$k]['message'] = '';
					for ($i+=4;; $i++) {
						if (trim($lines[$i])=='</event>') break;
						$events[$k]['message'] .= $lines[$i];
					}
					$events[$k]['message'] = htmlspecialchars(stripslashes($events[$k]['message']), ENT_QUOTES);
					$k++;
				}
			}
		}
		array_multisort($sorts, SORT_ASC, SORT_NUMERIC, $events);
		return $events;
	}
		
	function displayMonth($dates) {
		$keys['LAST_MON'] = $dates['last']['mon'];
		$keys['LAST_YEAR'] = $dates['last']['year'];
		$keys['NEXT_MON'] = $dates['next']['mon'];
		$keys['NEXT_YEAR'] = $dates['next']['year'];
		$keys['MONTH'] = $dates['month'];
		$keys['YEAR'] = $dates['year'];
		$keys['MON'] = $dates['mon'];
		
		$events = $this->getMonthEvents($dates['mon'], $dates['year']);
		$dayevents = array();
		for ($count=0, $i=0, $n=count($events); $i<$n; $i++, $count++) {
			$d = $events[$i]['day'];
			$dayevents[$d][] = array (
				'id' => $events[$i]['id'], 
				'message' => nl2br($events[$i]['message']),
				'hr' => $events[$i]['hr']<10? $events[$i]['hr'] = '0' . $events[$i]['hr'] : $events[$i]['hr'],
				'min' => $events[$i]['min']<10? $events[$i]['min'] = '0' . $events[$i]['min'] : $events[$i]['min']
				);
		}
	
		$days = array();
		$filled = 0;
		$count = 0;
		for ($i=$dates['last']['days']-$dates['first']+1; $filled<$dates['first']; $i++, $filled++) {
			$days[$count]['DAY_' . $filled] = $i;
			$days[$count]['WHICH_' . $filled] = 'lastMonth';
			$days[$count]['EVENT_' . $filled] = '';
			$days[$count]['ID_' . $filled] = 'c' . $i . '-' . $dates['last']['mon'] . '-' . $dates['last']['year'];
		}
	
		$todays = $this->getDate();
		for ($i=1; $i<=$dates['days']; $i++, $filled++) {
			if ($filled==7) {
				$count++;
				$filled = 0;
			}
			$days[$count]['DAY_' . $filled] = $i;
			$days[$count]['WHICH_' . $filled] = '';
			$days[$count]['EVENT_' . $filled] = '';
			$days[$count]['ID_' . $filled] = 'd' . $i . '-' . $dates['mon'] . '-' . $dates['year'];
			if ($filled==0 || $filled==6) {
				$days[$count]['WHICH_' . $filled] .= ' weekend ';
			}
			if ($todays['mon']==$dates['mon'] && $todays['mday']==$i && $todays['year']==$dates['year']) {
				$days[$count]['WHICH_' . $filled] .= ' today ';
			}
			if (array_key_exists($i, $dayevents)) {
				$ids['DAY'] = $days[$count]['DAY_' . $filled];
				$ids['MONTH'] = $dates['mon'];
				$ids['YEAR'] = $dates['year'];
				$days[$count]['WHICH_' . $filled] .= ' event ';
				$days[$count]['EVENT_' . $filled] = $this->parseRecTemplate($this->parseTemplate($this->templates['event'], $ids), '<!-- BEGIN -->', '<!-- END -->', $dayevents[$i]);
			}
		}
		for ($i=1; $filled<7; $i++, $filled++) {
			$days[$count]['DAY_' . $filled] = $i;
			$days[$count]['WHICH_' . $filled] = 'nextMonth';
			$days[$count]['EVENT_' . $filled] = '';
			$days[$count]['ID_' . $filled] = 'c' . $i . '-' . $dates['next']['mon'] . '-' . $dates['next']['year'];
		}
		if ($this->sunday_endweek) $this->swap($days);
		return $this->parseRecTemplate($this->parseTemplate($this->templates['body'], $keys), '<!-- BEGIN -->', '<!-- END -->', $days);
	}
	
	function swap(&$days) {
		$n = count($days)-1;
		for ($i=0; $i<$n; $i++) {
			$days[$i]['WHICH_0'] = $days[$i+1]['WHICH_0'];
			$days[$i]['DAY_0'] = $days[$i+1]['DAY_0'];
			$days[$i]['EVENT_0'] = $days[$i+1]['EVENT_0'];
		}
		$days[$n]['WHICH_0'] = 'nextMonth';
		$days[$n]['DAY_0'] = $days[$n]['DAY_6']+1;
		$days[$n]['EVENT_0'] = '';
	}

	function getForm($do, $id, $day, $month, $year, $hr, $minute, $message, $add, $edit) {
		$max = $min = 5;
		$keys['DAY'] = '';
		$keys['MONTH'] = '';
		$keys['YEAR'] = '';
		$keys['HOUR'] = '';
		$keys['MINUTE'] = '';
		$keys['ID'] = $id;
		$keys['DO'] = $do;
		$keys['MESSAGE'] = $message;
		$keys['ADD'] = $add;
		$keys['EDIT'] = $edit;
	
		for ($i=1; $i<=31; $i++) {
			if ($i==$day) {
				$keys['DAY'] .= '<option value="' . $i . '" selected >' . $i . '</option>';
			} else {
				$keys['DAY'] .= '<option value="' . $i . '">' . $i . '</option>';
			}
		}
		for ($i=1; $i<=12; $i++) {
			if ($i==$month) {
				$keys['MONTH'] .= '<option value="' . $i . '" selected >' . $this->months[$i-1] . '</option>';
			} else {
				$keys['MONTH'] .= '<option value="' . $i . '">' . $this->months[$i-1] . '</option>';
			}
		}
		$tmp = $this->getDate();
		$year0 = $year>0? $year : $tmp['year'];
		for ($i=$year0-$min, $n=$year0+$max; $i<=$n; $i++) {
			if ($i==$year) {
				$keys['YEAR'] .= '<option value="' . $i . '" selected >' . $i . '</option>';
			} else {
				$keys['YEAR'] .= '<option value="' . $i . '">' . $i . '</option>';
			}
		}
		for ($i=0; $i<=23; $i++) {
			$j = $i<10? '0' . $i : $i;
			if ($i==$hr) {
				$keys['HOUR'] .= '<option value="' . $i . '" selected >' . $j . '</option>';
			} else {
				$keys['HOUR'] .= '<option value="' . $i . '">' . $j . '</option>';
			}
		}
		for ($i=0; $i<=59; $i++) {
			$j = $i<10? '0' . $i : $i;
			if ($i==$minute) {
				$keys['MINUTE'] .= '<option value="' . $i . '" selected >' . $j . '</option>';
			} else {
				$keys['MINUTE'] .= '<option value="' . $i . '">' . $j . '</option>';
			}
		}
		return $this->parseTemplate($this->templates['form'], $keys);
	}
	
	function addEvent($day, $month, $year, $hr, $min, $message, $input_id=null) {
		$id = $input_id==null? time() : $input_id;
		$handle = fopen($this->datapath, 'a') or exit('error1');
		if (get_magic_quotes_gpc()==0) {
			$message = addslashes($message);
		}
		$content = "\n<event>\n" . $id . "\n" . $day . '-' . $month . '-' . $year . "\n" . $hr . ':' . $min . "\n" . $message . "\n</event>";
		if (fwrite($handle, $content)===false) {
			fclose($handle);
			exit('error2');
		}
		fclose($handle);
	}
	
	function delEvent($id) {
		$content = '';
		$lines = file($this->datapath);
		for ($i=0, $n=count($lines); $i<$n; $i++) {
			if (trim($lines[$i])=='<event>') {
				if (trim($lines[$i+1])==$id) {
					for ($i++;; $i++) {
						if (trim($lines[$i])=='</event>') break;
					}
				} else {
					for (;; $i++) {
						$content .= $lines[$i];
						if (trim($lines[$i])=='</event>') break;
					}
				}
			}
		}
		$handle = fopen($this->datapath, 'w') or exit('error1');
		if (fwrite($handle, $content)===false) {
			fclose($handle);
			exit('error2');
		}
		fclose($handle);
	}
		
	function show_calendar($last=0, $next=0) {
		print '<div id="calendar">';
		$today = $this->getDate();
		for ($i=$last; $i>0; $i--) {
			$month = $today['mon']-$i;
			$year = $today['year'];
			if ($month<0) {
				$month = 12+$month;
				$year--;
			}
			if (checkdate($month, 1, $year)) {
				$this->show_month($month, $year);
			}
		}
		for ($i=0; $i<=$next; $i++) {
			$month = $today['mon']+$i;
			$year = $today['year'];
			if ($month>12) {
				$month = $month-12;
				$year++;
			}
			if (checkdate($month, 1, $year)) {
				$this->show_month($month, $year);
			}
		}
		print '</div>';
		print $this->parseTemplate($this->templates['js'], array('HTPATH'=>$this->htpath));
	}
	
	function show_month($month, $year) {
		$dates = $this->getMonthDetails($month, $year);
		print $this->displayMonth($dates);
	}
	
	function checkDocumentRoot() {
		return dirname($_SERVER['PHP_SELF'])==$this->htpath;
	}
	
	function parseTemplate($tpl, $keys) {
		$content = '';
		$vars = array_keys($keys);
		for ($i=0, $n=count($vars); $i<$n; $i++) {
			$vars[$i] = '{' . strtoupper($vars[$i]) . '}';
		}
		$content = str_replace($vars, $keys, $tpl);
		return $content;
	}

	function parseRecTemplate($tpl, $begin, $end, $keys) {
		$content = '';
		$begin_pos = strpos($tpl, $begin) + strlen($begin);
		$end_pos = strpos($tpl, $end);
		$length = $end_pos - $begin_pos;
		$subtpl = substr($tpl, $begin_pos, $length);
		$num_key = count($keys);
		$vars = $num_key>0? array_keys($keys[0]) : null;
		for ($i=0, $n=count($vars); $i<$n; $i++) {
			$vars[$i] = '{' . strtoupper($vars[$i]) . '}';
		}
		for ($i=0; $i<$num_key; $i++) {
			$content .= str_replace($vars, $keys[$i], $subtpl);
		}
		return substr_replace($tpl, $content, $begin_pos, $length);
	}
}

?>

Date : 2009-11-12 13:11:50 By : tim
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : อยากให้ปฏิทิน แสดงเป็นแนวนอน ช่วยด้วยครับ บรรทัดด้านล่าง เลข 0 ทางซ้ายคือ จำนวนเดือนก่อนเดือนปัจจุบันที่จะให้แสดงออกมา
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่