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 > ปฏิทินกิจกรรม ผมต้องการเขียนปฏิทินกิจกรรมให้มีการ Query ข้อมูลใน DB มาแสดงในตารางปฏิทินนะครับ...



 

ปฏิทินกิจกรรม ผมต้องการเขียนปฏิทินกิจกรรมให้มีการ Query ข้อมูลใน DB มาแสดงในตารางปฏิทินนะครับ...

 



Topic : 012443

Guest




ผมต้องการเขียนปฏิทินกิจกรรมให้มีการ Query ข้อมูลใน DB มาแสดงในตารางปฏิทินนะครับ....แต่ไม่เก่งพอที่จะสร้างออกมาได้....ซึ่งตาราง Db นั้น ผมก็สร้างมาดังโค๊ดด้านล่างนี้นะครับ...ส่วนโค๊ดปฏิทินนั้นก็อยู่ด้านล่าง แต่เป็นโค๊ดปฏิทินธรรมดา...

ผมต้องการให้โค๊ดปฏิทินด้านล่างของผมนั้นสามารถเป็นปฏิทินกิจกรรมได้นะครับ...ต้องเขียนหรือปรับเปลี่ยนโค๊ดยังไงบ้างครับ
========> ตารางใน Mysql <==============
# Table structure for table 'mycalendar'
#

CREATE TABLE mycalendar (
calendar_ID int(6)
unsigned NOT NULL auto_increment,
start date NOT NULL default '0000-00-00',

end date NOT NULL default '0000-00-00',
title text NOT NULL,
service varchar(30) NOT NULL default '',

description text NOT NULL,
PRIMARY KEY (calendar_ID)
) TYPE=MyISAM;

#
# Dumping data for table 'mycalendar'



========>ไฟล์ calendar_test.php<==============
####หมายเหตุ ผมต้องการใช้ไฟล์นี้ดึงกิจกรรมใน db มาแสดง#######
<?
/* $diffHour และ $diffMinute คือตัวแปรที่ใช้เก็บจำนวนชั่วโมงและจำนวนนาทีที่
แตกต่างกันระหว่างเครื่องไคลเอนต์กับเครื่องเซิร์ฟเวอร์ ตามลำดับ เช่นถ้าเวลาของ
เครื่องไคลเอ็นต์เร็วกว่าเวลาของเครื่องเซิร์ฟเวอร์ 11 ชั่วโมง 15 นาที ก็ให้กำหนด
$diffHour เป็น 11 และกำหนด $diffMinute เป็น 15 ในที่นี้ผู้เขียนถือว่า
เครื่องเซิร์ฟเวอร์กับเครื่องไคลเอ็นต์มีเวลาตรงกัน */
$diffHour = 0;
$diffMinute = 0;

if($dfMonth == ""){
/* ถ้าไม่มีการระบุให้แสดงปฏิทินของเดือนใดเดือนหนึ่ง เราจะแสดงปฏิทินของเดือน
ปัจจุบันตามเวลาในเครื่องไคลเอ็นต์ โดยใช้ฟังก์ชั่น getdate() สร้างวันที่/เวลา
ปัจจุบันของเครื่องไคลเอ็นต์เก็บไว้ในตัวแปร $calTime ซึ่งฟังก์ชั่นนี้จะคืนค่ากลับมา
เป็นอาร์เรย์ */
$calTime = getdate(date(mktime(date("H") + $diffHour,date("i") + $diffMinute)));
$today = $calTime["mday"]; //วันที่
$month = $calTime["mon"]; //เดือน
$year = $calTime["year"]; //ปี
}else{

/* กรณีที่ระบุให้แสดงปฏิทินของเดือน/ปีหนึ่งๆนั้น จะมีการส่งตัวแปร $today, $dfMonth และ $dfYear ผ่านมาทาง query string ด้วย */
if($dfMonth == 0){
/* ถ้าตัวแปร $dfMonth เป็น 0 เราจะแสดงปฏิทินของเดือนธันวาคมของปีที่น้อยกว่าปีที่กำลังแสดงอยู่ */
$dfMonth = 12;
$dfYear = $dfYear - 1;
}else if($dfMonth == 13){
// ถ้าตัวแปร $dfMonth เป็น 13 เราจะแสดงปฏิทินของเดือนมกราคมของปีที่มากกว่าปีที่กำลังแสดงอยู่
$dfMonth = 1;
$dfYear = $dfYear + 1;
}

// สร้างวัน/เวลาของเดือนและปีที่ผู้ใช้ระบุ เก็บไว้ในตัวแปร $calTime
$calTime = getdate(date(mktime((date("H") + $diffHour),(date("i") + $diffMinute), 0, $dfMonth, $today, $dfYear)));
$today = $calTime["mday"]; //วันที่
$month = $calTime["mon"]; //เดือน
$year = $calTime["year"]; //ปี
}

// เรียกฟังก์ชั่น LastDay() ซึ่งเป็นฟังก์ชั่นที่เราสร้างขึ้นมาเองเพื่อหา "จำนวนวัน" ของเดือนและปีที่จะแสดงปฏิทินโดยเก็บไว้ในตัวแปร $Lday
$Lday = LastDay($month, $year);
// เก็บ timestamp ของวันที่ 1 ของเดือนที่จะแสดงปฏิทิน ไว้ในตัวแปร $FTime
$FTime = getdate(date(mktime(0, 0, 0, $month, 1, $year)));
// เก็บ "วันในสัปดาห์" (จันทร์, อังคาร ฯลฯ) ของวันที่ 1 ของเดือนไว้ในตัวแปร $wday
$wday = $FTime["wday"];

// สร้างตัวแปรชนิดอาร์เรย์เก็บชื่อเดือนภาษาไทย
$thmonthname = array("มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม");

// ฟังก์ชั่น LastDay() ใช้สำหรับหาวันที่สุดท้ายของเดือน/ปีที่ระบุหรือกล่าวอีกนัยหนึ่งคือหาว่าเดือน/ปีที่ระบุนั้นมีกี่วัน
function LastDay($m, $y){
for($i=29; $i<=32; $i++){
if(checkdate($m, $i, $y) == 0){
return $i - 1;
}
}
}
?>

<table width="100%" border="1" cellpadding="0" cellspacing="1">
<tr>
<td width="10%" align="center"><a href="<?=$PHP_SELF?>?today=<?=$today?>&dfMonth=<?=($month - 1)?>&dfYear=<?=$year?>">&lt;</a></td>
<td width="80%" align="center" colspan="5" bgcolor="#F9F4DD"><?=$thmonthname[$month - 1]?>&nbsp;<?=($year + 543)?></td>
<td width="10%" align="center"><a href="<?=$PHP_SELF?>?today=<?=$today?>&dfMonth=<?=($month + 1)?>&dfYear=<?=$year?>">&gt;</a></td>
<tr>
<tr bgcolor="#FFCCCC">
<td align="center">อา</td>
<td align="center">จ</td>
<td align="center">อ</td>
<td align="center">พ</td>
<td align="center">พฤ</td>
<td align="center">ศ</td>
<td align="center">ส</td>
</tr>
<?
$sql = "SELECT start,end FROM mycalendar";
$result = mysql_db_query($dbname, $sql) or die(mysql_error());
$row = mysql_fetch_array($result);

// เอาวันเริ่มและสิ้นสุดมาเก็บใน array เพื่อใช้ในการเปรียบเทียบ
$st=array();
$ed=array();
$i=0;

do{
$st[$i]=$row["start"];
$ed[$i]=$row["end"];
$i++;
}while($row = mysql_fetch_array($result));
for($i=0;$i<count($st);$i++){
$ed[$i]=substr($ed[$i],0,4).substr($ed[$i],5,2).substr($ed[$i],8,2);
$st[$i]=substr($st[$i],0,4).substr($st[$i],5,2).substr($st[$i],8,2);
}


$iday = 1;
// แสดงแถวแรกของปฏิทิน
for($i=0; $i<=6; $i++){

// แสดงเซลล์ว่างก่อนวันที่ 1 ของเดือน
if($i < $wday){
// กรณีที่เป็นวันอาทิตย์
if($i == 0){
echo "<tr>\n";
echo "<td align=\"center\" class=\"sunday\">&nbsp;</td>\n";
}else{
// กรณีที่เป็นวันอื่นๆที่ไม่ใช่วันอาทิตย์
echo "<td align=\"center\" class=\"norm\">&nbsp;</td>\n";
}
}else{
// แสดงวันที่ในแถวแรกของปฏิทิน
if($i == 0 && ($iday != $today)){
// กรณีที่เป็นวันอาทิตย์ และไม่ใช่วันปัจจุบัน
echo "<td align=\"center\" class=\"sunday\">$iday</td>\n";
}else if($iday == $today){
// กรณีที่เป็นวันปัจจุบัน
echo "<td align=\"center\" class=\"today\">$iday</td>\n";
}else{
echo "<td align=\"center\" class=\"norm\">$iday</td>\n";
}
$iday++;
}
}
echo "</tr>\n";


// แสดงแถวที่เหลือของปฏิทิน (หลังจากแสดงแถวแรกไปแล้ว จะเหลืออย่างมาก 5 แถว)
for($j=0; $j<=4; $j++){
if($iday <= $Lday){
echo "<tr>\n";
for($i=0; $i<=6; $i++){
if($iday <= $Lday){
if($i == 0 && ($iday != $today)){
echo "<td align=\"center\" class=\"sunday\">$iday</td>\n";
}else if($i == 0 && ($iday == $today)){
echo "<td align=\"center\" class=\"today\">$iday</td>\n";
}else if($iday == $today){
echo "<td align=\"center\" class=\"today\">$iday</td>\n";
}else{
echo "<td align=\"center\" class=\"norm\">$iday</td>\n";
}
$iday++;
}else{
echo "<td align=\"center\" class=\"norm\">&nbsp;</td>\n";
}
}
echo "</tr>\n";
}
}
?>

<tr>
<td align="center" colspan="7"><a href="<?=$PHP_SELF?>">วันที่ปัจจุบัน</a></td>
</tr>
</table>



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 25 ก.พ. 2550 09:22:21 By : com1com View : 2826 Reply : 2
 

 

No. 1

Guest


อยากได้เหมือนกานค่ะแต่เป็นการจองห้องนะคะ






Date : 2010-01-10 22:59:38 By : ton
 


 

No. 2

Guest


PHP Calendar Event Activity

แจกฟรี ปฏิทินกิจกรรม PHP กับฐานข้อมูล MySQL Database เอาไปใช้กันแบบฟรี !!

Date : 2013-04-05 10:43:19 By : tc
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ปฏิทินกิจกรรม ผมต้องการเขียนปฏิทินกิจกรรมให้มีการ Query ข้อมูลใน DB มาแสดงในตารางปฏิทินนะครับ...
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 03
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 อัตราราคา คลิกที่นี่