|
|
|
php calendar อยากให้ปฏิทินบอก สัปดาห์ใน วันที่เราเลือกได้ด้วยค่ะ |
|
|
|
|
|
|
|
คือ ตอนนี้ พอคลิกไปที่วันอื่นจะมี alert msg บอกว่าตรงกับวันที่เท่าไหร่
แต่อยากให้บอกสัปดาห์ของวันที่คลิกด้วยค่ะ พยายามหาแล้ว แต่ไม่เจอเลย
เจอแค่บอกสัปดาห์ปัจจุบันเท่านั้นเอง
ช่วยหน่อยนะคะ
นี่โค้ดค่ะ
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<title>Untitled Document</title>
<style type="text/css">
body,td,th {
font-size: 30px;
text-align: center;
}
body {
background-color: #FFC;
}
</style>
</head>
<body>
<p>PARENT</p>
<hr />
<form id="form2" name="form2" method="post" action="">
<table width="147" border="1" align="left">
<tr>
<td width="113" height="60" align="left" style="font-size: 18px"><p><a href="parent.php">หน้าหลัก</a></p></td>
</tr>
</table>
<table width="147" border="1" align="right">
<tr>
<td width="113" height="60" align="left" style="font-size: 18px"><p><a href="home.php">HOME</a></p></td>
</tr>
</table>
</form>
<style>
.sunday{color: white;background-color:red;}
.saturday{color: white;background-color:#9900CC;}
.default{color: black;background-color:white;}
.today{color: blue;background-color:yellow;}
</style>
<?php
if(isset($_GET['y'])){
$y = $_GET['y'];
} else {
$y = date("Y");
}
if(isset($_GET['m'])){
$m = $_GET['m'];
} else {
$m = date("m");
}
// ฟังก์ชันการเติม 0 ไปข้างหน้า กรณีเป็นวันที่เลขตัวเดียว เช่น 1 , 2 ,3 , 4 , ...
function fillzero($tmp){
if (strlen($tmp) == 1)
$tmp = "0".$tmp;
return $tmp;
}
// ฟังก์ชันการใส่สีให้กับวันที่ปัจจุบัน
function colortoday($now_date,$now_month,$now_year,$d,$m,$y){
if (($now_date == $d) & ($now_month == $m) & ($now_year == $y))
return "bgcolor=#FFCC99";
else
return "bgcolor=#FFBBFF";
}
function calendar($year, $month, $day_offset = 0){
$separate = "/"; // ใส่รูปแบบ ตัวคั่น ระหว่าง วัน เดือน ปี ค.ศ.
$days = array("อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์");
$months = array("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม");
$day_offset = $day_offset % 7;
$start_day = gmmktime(0,0,0,$month,1,$year);
$start_day_number = date("w",$start_day);
$days_in_month = date("t",$start_day);
$now_date = date("d");
$now_month = date("m");
$now_year = date("Y");
$previous_month = ($month-1);
$previous_year = $year;
if($previous_month == 0){
$previous_month = '12';
$previous_year = ($year-1);
}
$next_month = ($month+1);
$next_year = $year;
if($next_month == '13'){
$next_month = '1';
$next_year = ($year+1);
}
$final_html .= "<table border=1 bordercolor=#000000 width=80%><tr height=40>
<td width=25%><a href=\"calendar.php?y=".$previous_year."&m=".$previous_month."\"><< เดือนก่อนหน้า</a></td>
<td width=50% align=center>".$months[$month-1]." $year</td>
<td width=25% align=right><a href=\"calendar.php?y=".$next_year."&m=".$next_month."\">เดือนถัดไป >></a></td></tr>\n";
$final_html .= "<tr><td colspan=3>\n<table width=100% border=0><tr>";
for($x=0;$x<=6;$x++){
$final_html .= "<td width=14.29% align=center>".$days[($x+$day_offset)%7]."</td>";
}
$final_html .= "</tr></table>\n</td></tr>\n";
$final_html .= "<tr><td colspan=3>\n<table width=100% border=0>\n<tr>";
$blank_days = $start_day_number - $day_offset;
if($blank_days<0){$blank_days = 7-abs($blank_days);}
for($x=0;$x<$blank_days;$x++){
$final_html .= "<td width=14.29% align=center> </td>";
}
for($x=1;$x<=$days_in_month;$x++){
if(($x+$blank_days-1)%7==0){
$final_html .= "</tr>\n<tr>";
}
$now_date_str = fillzero($x).$separate.fillzero($month).$separate.$year;
$today_color = colortoday($now_date,$now_month,$now_year,$x,$month,$year);
$final_html .= "<td width=14.29% align=center $today_color><a href=\"javascript:alert('$now_date_str');\">$x</a></td>";
}
while((($days_in_month+$blank_days)%7)!=0){
$final_html .= "<td width=14.29% align=center> </td>";
$days_in_month++;
}
$final_html .= "</tr>\n</table>\n</td></tr>\n</table>";
return($final_html);
}
?>
<center>
<b><font size=5>:: TODAY ::</font></b><br><br>
<?
echo " วันที่ ";
$today = date("d / m / y");
$week = date("W");
echo $today;
echo " สัปดาห์ที่ ";
echo $week;
echo "<br><br>";
echo calendar($y,$m);
?>
<br><br>
</center>
</body>
</html>
ขอบคุณล่วงหน้าค่ะ ^/\^
Tag : PHP
|
ประวัติการแก้ไข 2013-01-31 16:28:06
|
|
|
|
|
Date :
2013-01-31 16:23:58 |
By :
Nutiiz |
View :
2397 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$now_date_str = fillzero($x).$separate.fillzero($month).$separate.$year ." สัปดาห์ที่ ".date("W",mktime(0,0,0,$month,$x,$year) );
|
|
|
|
|
Date :
2013-01-31 22:00:02 |
By :
xbeginner01 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากเลยค่ะ ^/\^
|
|
|
|
|
Date :
2013-01-31 22:09:35 |
By :
Nutiiz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|