|
|
|
ทำโปรเจคจองห้องนะคะ ก้อติดปัญหา ทำโปรเจคจองห้องนะคะ ก้อติดปัญหาค่ะ ให้ข้อมูลโชว์บนปฏิทิน |
|
|
|
|
|
|
|
//
ทำโปรเจคจองห้องนะคะ ก้อติดปัญหาค่ะ
ให้ข้อมูลโชว์บนปฏิทิน
ฐานข้อมูล
ตาราง approve
มี 4 ฟิว ค่ะ
01=อนุมัติแบบไม่มีเงื่นไข
02=อนุมัติแบบเงื่อนไขเพิ่มเติม
03=ไม่อนุมัติ
04=รอพิจราณา
เวลาโชวนะคะ อยากให้แสดง บนหน้าจอของปฏิทินนะคะ ถ้าห้องไหนยังไม่อนุมัติ แต่จองแล้ว ก้อขึ้นมาว่า รอพิจารณา
สัญลักษณ์ สีเขียว คือ=อนุมัตืแบบไม่มีเงื่อนไข
สีแดง = ไม่อนุมัติ
สีเหลือง= รอพิจารณา
สีฟ้า=อนุมัติแบบเงื่อนไขเพิ่มเติม
ตัวปฏิทินมีแล้วอะค่ะ แต่ไม่รู้จะเขียนคำสั่ง Select ข้อมูลขึ้นมายังไงค่ะ แบบว่าพอพอถึงวันคืนห้องแล้วตามวันที่ห้องนั้นก้อกลายเป็นห้องว่างอัตโนมัตินะคะ พร้อมให้คนอื่นจองต่อนะคะ
//
ตาราง status ของห้อง
มีสามสถานะค่ะ คือ 01 =ใช้งานปกติ หรือว่าว่างนะคะ
02=อยู้ระหว่างการใช้งานหรือว่าไม่ว่างนะคะ
03 =อยู่ระหว่างการซ่อมบำรุง ค่ะ
แบบว่าเมื่อมีคนมาจองห้องนั้นก็ยังใช้งานปกติ แต่เมื่อผู้อนุมัติอนุมัติให้ใช้ห้องแล้ว สถานะ
ห้องก้อเปลี่ยนเป็นอยู่ระหว่างการใช้งานนะคะ เมื่อครบกำหนดวันที่ใช้ห้องก้อให้คืนค่าห้องว่าใช้งานปกติกลับคืนมาอัตโนมัตินะคะ
<?php
require_once("../include/connectdb.php");
require_once("../include/chkSession.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" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>Calender</title>
<style type="text/css">
ul.calender{
background-color: #CCCCCC;
margin: 0px;
width: 560px;
clear: both;
float: left;
border-top-width: 1px;
border-top-style: solid;
border-top-color: #F4F4F4;
font-size: 10px;
text-transform: uppercase;
list-style-type: none;
padding: 0px;
}
ul.calender li{
margin: 0px;
border-top: 1px solid #FFFFFF;
border-bottom: 1px solid #999999;
padding: 2px 0px 5px;
}
ul.calender2{
background-color: #FFFFFF;
margin: 0px;
width: 100%;
clear: both;
float: left;
font-size: 12px;
list-style-type: none;
padding: 0px;
font-weight: bold;
}
ul.calender2 li{
margin: 0px;
padding: 2px 0px 5px;
}
.nav1{
display: block;
width: 80px;
float: left;
text-align: center;
}
.nav2{
display: block;
width: 400px;
float: left;
text-align: center;
}
</style>
</head>
<body>
<?php
// ฟังก์ชันการเติม 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=#FFFFFF";
}
function calendar($year, $month, $day_offset = 0){
$separate = "/"; // ใส่รูปแบบ ตัวคั่น ระหว่าง วัน เดือน ปี ค.ศ.
$days = array("sunday","monday","tuesday","wednesday","thursday","friday","saturday");
$months = array("january","february","march","april","may","june","july","august","september","october","november","december");
// mktime ใช้คืนค่าเวลาหน่วยวินาทีของวันที่เวลาที่กำหนดตัวอย่างเช่น:echo mktime (0, 0, 0, 3, 15 2008)
//gmmktime ใช้คืนค่าเวลาของหน่วยวินาทีของวันที่เวลาที่กำหนดตามเวลามาตรฐานกรีนิชตัวอย่างเช่น:สะท้อน gmmktime (0, 0, 0, 3, 15 2008)
$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); //ถ้าเดือนที่เปง 1 ลบออก 1 ค่าเท่ากับ 0 เดือนที่แสดงถัดไปคือ เดือน 12
$previous_year = $year;
if($previous_month == 0){
$previous_month = '12';
$previous_year = ($year-1);
}
$next_month = ($month+1); //ถ้าเดือนที่เปง 12 บวกเข้า 1 ค่าเท่ากับ 13 เดือนที่แสดงถัดไปคือ เดือน 1
$next_year = $year;
if($next_month == '13'){
$next_month = '1';
$next_year = ($year+1);
}
$final_html .= "<ul class=\"calender\"><li><span class=\"nav1\"><a href=\"calender.php?y=".$previous_year."&m=".$previous_month."\">Back</a></span><span class=\"nav2\">".$months[$month-1]." $year</span><span class=\"nav1\"><a href=\"calender.php?y=".$next_year."&m=".$next_month."\">Next</a></span></li>\n";
$final_html .= "<li>";
for($x=0;$x<=6;$x++){
$final_html .= "<span class=\"nav1\">".$days[($x+$day_offset)%7]."</span>";
}
$final_html .= "</li>\n";
$final_html .= "</ul><ul class=\"calender2\"><li>\n";
$blank_days = $start_day_number - $day_offset;
if($blank_days<0){$blank_days = 7-abs($blank_days);}
for($x=0;$x<$blank_days;$x++){
if($approve_id==04){
echo '<a href="">รอพิจราณา</a>';
}else if($approve_id==03){
echo '<ห้องถูกจองแล้วค่ะ>ไม่อนุญาติ</a>';
}else if($approve_id==02){
echo '<ห้องถูกจองแล้วค่ะ>อนุญาต เงื่อนไขเพื่มเติม</a>';
}else{
echo '<a href="bookingRoomForm.php">ไม่อนุญาติ</a>';
}
//กรณีห้องว้่างก็จองได้ค่ะ
//ห้องที่ถูกจองแล้วเวลาเรียกดูข้อมูลจะเปิดวินโดวใหม่และไม่สามารถแก้ไขได้ค่ะ
$final_html .= "<span class=\"nav1\"> </span>";
}
for($x=1;$x<=$days_in_month;$x++){
if(($x+$blank_days-1)%7==0){
$final_html .= "</li>\n<li>";
}
// $final_html .= "<span class=\"nav1\"><a href=bookingRoomForm.php>$x</a></span>";
$final_html .= "<span class=\"nav1\"><a href=bookingRoomForm.php?d=$x&&m=$month&&y=$year >$x</a></span>";
/* ก็ echo สถานะนั้นออกมา
ถ้าเช็คมากกว่านั้นก็เช็คว่า
if($สถานะ==1){
echo '<a href="">คลิ๊กที่นี่เพื่อจอง</a>';
}else{
echo 'ห้องถูกจองแล้ว';
}*/
}
while((($days_in_month+$blank_days)%7)!=0){
$final_html .= "<span class=\"nav1\"> </span>";
$days_in_month++;
}
$final_html .= "</li>\n</ul>";
return($final_html);
}
if(isset($_GET['y'])){
$y = $_GET['y'];
} else {
$y = date("Y");
}
if(isset($_GET['m'])){
$m = $_GET['m'];
} else {
$m = date("m");
}
echo calendar($y,$m);
?>
</body>
</html>
ทำมาหลายวันแล้วค่ะยังไม่ได้เลยค่ะรบกวนท่านผู้รู้ช่วยแก้ให้หน่อยนะคะป
ท่านผู้รู้คนไหนพอมีโคดให้บ้างค่ะ ช่วยทีค่ะ
[email protected]
//
Tag : - - - -
|
|
|
|
|
|
Date :
2010-01-10 23:30:32 |
By :
tonlhiew |
View :
1050 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
###
เวลาโชวนะคะ อยากให้แสดง บนหน้าจอของปฏิทินนะคะ ถ้าห้องไหนยังไม่อนุมัติ แต่จองแล้ว ก้อขึ้นมาว่า รอพิจารณา
@ ผมคิดว่าคงต้องการแบบเอาเม้าส์ชี้แล้วให้มันโชว์ (รึป่าวเอ่ย)
###
ถ้าทำแบบนี้ก็ต้องใช้ js ไม่ก็ css มาช่วยสิครับ แล้วก็ดึงข้อมูลจาก DB มาแสดง
|
|
|
|
|
Date :
2010-01-12 11:40:40 |
By :
zenix |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอารูปมาดูหน่อยดีไหมคะว่า ปฏิทินที่ว่าเป็นยังไง
|
|
|
|
|
Date :
2010-01-12 11:44:44 |
By :
ultrasiam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พร้อมตัดโค้ดที่มีปัญหามาด้วย
ดูทั้งหมดตาหลายครับ
|
|
|
|
|
Date :
2010-01-12 11:46:19 |
By :
parita |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
www.chiangraifocus.com ไปดูที่ปฏิทิน ด้านขวามือนะครับเอาเม้าไปชี้ดู แบบนี้ป่าวครับ
|
|
|
|
|
Date :
2010-01-12 14:48:22 |
By :
panuwat2006 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|