|
|
|
ต้องการทำปฏิทินที่สามารถแสดงข้อมูลจากฐานข้อมูล แต่ติดตรงที่ปฏิทินมีการแสดงผลแต่ไม่มีข้อมูลจากฐานข้อมูลมาแสดงผล ไม่รู้ต้องทำยังไง รบกวนผู้รู้ช่วยบอกวิธีแก้ปัญหาหน่อยนะค่ะ |
|
|
|
|
|
|
|
พอดีไปโหลดตัวอย่างการทำปฏิทินจากเว็บ http://arshaw.com/fullcalendar/download/นี้ค่ะ
พอดีลองนำไฟล์ที่ชื่อ json.html มาดัดแปลงนะค่ะ โดยในไฟล์ json.html ได้ลิงก์ events ไปที่ ไฟล์ json-events.php พอลองเปลี่ยนข้อมูลในไฟล์ json-events.php มันไม่แสดงข้อมูลในฐานข้อมูลขึ้นมาเลยค่ะ
ชื่อฐานข้อมูล vivaclinicdb
Code (SQL)
CREATE TABLE `schedule_leave` (
`Schedule_id` varchar(10) NOT NULL,
`EmpId` varchar(10) NOT NULL,
`Typeleave` varchar(2) NOT NULL,
`D_start` date NOT NULL,
`D_End` date NOT NULL,
`AmountDate` varchar(2) NOT NULL,
`DetailLeave` varchar(255) NOT NULL,
PRIMARY KEY (`Schedule_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Dumping data for table `schedule_leave`
--
INSERT INTO `schedule_leave` VALUES ('5603050808', '56-0002', '1', '2556-03-20', '2556-03-22', '3', 'dfer');
INSERT INTO `schedule_leave` VALUES ('5603060738', '56-0001', '1', '2556-03-06', '2556-03-07', '', 'dfdfdfdfdfd');
CREATE TABLE `employee` (
`EmpId` varchar(10) NOT NULL,
`EmpName` varchar(50) NOT NULL,
`EmpAddress` varchar(255) NOT NULL,
`EmpTel` varchar(15) NOT NULL,
`EmpEmail` varchar(200) default NULL,
`EmpPass` varchar(10) default NULL,
PRIMARY KEY (`EmpId`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Dumping data for table `employee`
--
INSERT INTO `employee` VALUES ('56-0001', 'Viraval', 'bangkok', '0834546664', '[email protected]', '1234');
INSERT INTO `employee` VALUES ('56-0002', 'Keawta', 'bangkok', '0897868777', '[email protected]', '1234');
INSERT INTO `employee` VALUES ('56-0003', 'ddfdf', 'fdf', '4', '[email protected]', '1234');
โค้ดในไฟล์ json.php
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' />
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.print.css' media='print' />
<script type='text/javascript' src='../jquery/jquery-1.8.1.min.js'></script>
<script type='text/javascript' src='../jquery/jquery-ui-1.8.23.custom.min.js'></script>
<script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script>
<script src="../js/jquery-latest.js"></script>
<script type='text/javascript'>
$(document).ready(function() {
$('#calendar').fullCalendar({
editable: true,
//events: "json-events.php",
events: "json-events-t.php" ,
eventDrop: function(event, delta) {
alert(event.title + ' was moved ' + delta + ' days\n' +
'(should probably update your database)');
},
loading: function(bool) {
if (bool) $('#loading').show();
else $('#loading').hide();
}
});
});
</script>
<style type='text/css'>
body {
margin-top: 40px;
text-align: center;
font-size: 14px;
font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
}
#loading {
position: absolute;
top: 5px;
right: 5px;
}
#calendar {
width: 900px;
margin: 0 auto;
}
</style>
</head>
<body>
<span id="result"></span>
<div id='loading' style='display:none'>loading...</div>
<div id='calendar'></div>
<p>json-events.php needs to be running in the same directory.</p>
</body>
</html>
โค้ดในไฟล์ json-events.php
Code (PHP)
<?php
$calTime = getdate(date(mktime(date("H") + $diffHour,
date("i") + $diffMinute)));
$month = $calTime["mon"]; //เดือน
$year = $calTime["year"];
$calyear=$year + 543;
$y = substr($calyear,2,2);
if($month < 10 ){$m = "0".$month;}
else{$m = $month;}
//ค้นหาปีและเดือนที่ลางานปัจจุบัน
include "../VivaClinic/connect.php";
$search_l = $y.$m;
$sql = "select * from Schedule_leave,Employee where Employee.EmpId = Schedule_leave.EmpId AND schedule_id LIKE '$search_l%' ORDER BY D_start";
$result = mysql_db_query($dbname,$sql);
$i =0;
$Num_Rows = mysql_num_rows($result);
$event_array=array();
while($dbarr = mysql_fetch_array($result))
{
$d_starty[$i] = (substr($dbarr[D_start],0,4)) - 543;
$d_startm[$i] = ((integer)(substr($dbarr[D_start],5,2))) - 1;
$d_startd[$i] = (integer)(substr($dbarr[D_start],8,2));
$d_endy[$i] = (substr($dbarr[D_End],0,4)) - 543;
$d_endm[$i] = ((integer)(substr($dbarr[D_End],5,2))) - 1;
$d_endd[$i] = (integer)(substr($dbarr[D_End],8,2));
$event_array[$i]['id']=$dbarr[Schedule_id];
$event_array[$i]['title']=$dbarr[EmpId]." ".$dbarr[EmpName];
$event_array[$i]['start']= $d_starty[$i]."-".$d_startm[$i]."-".$d_startd[$i];
$event_array[$i]['end']= $d_endy[$i]."-".$d_endm[$i]."-".$d_endd[$i];
$event_array[$i]['url']="http://google.com/";
$i++;
}
//$json = array();
echo json_encode($event_array);
//echo "<br>$json";
//mysql_close($link);
?>
ผลลัพธ์ที่ได้
ผลลัพธ์ของตัวอย่างที่นำมาประยุกต์
อยากทราบวิธีที่ทำให้ปฏิทินแสดงข้อมูลจากฐานข้อมูลออกมา ช่วยหน่อยนะค่ะ นั่งทำทั้งวัน ลองทำตามเว็บอื่น ๆ ดูแล้วก็ยังไม่ได้ผล
http://stackoverflow.com/questions/12531168/need-to-return-to-full-calendar-after-json-events-called-from-post-method
http://stackoverflow.com/questions/15225728/full-calendar-json-from-mysql-wont-generate-events
http://stackoverflow.com/questions/15181687/jquery-week-calendar-mysql-php-events-time-no-work
ลองทำตามเว็บข้างบนดูแล้วก็ยังไม่แสดงผล ยังไงรบกวนผู้ที่รู้วิธีช่วยบอกหน่อยนะค่ะ
Tag : PHP, MySQL, JavaScript, jQuery
|
|
|
|
|
|
Date :
2013-03-06 16:53:09 |
By :
Nws_Nax |
View :
8147 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณคุณ mr.win มากนะค่ะ
ตอนนี้ทำได้แล้วค่ะ
นี่คือโค้ดใน json-events.php
Code (PHP)
<?
$calTime = getdate(date(mktime(date("H") + $diffHour,
date("i") + $diffMinute)));
$month = $calTime["mon"]; //เดือน
$year = $calTime["year"];
$calyear=$year + 543;
$y = substr($calyear,2,2);
if($month < 10 ){$m = "0".$month;}
else{$m = $month;}
//ค้นหาปีและเดือนที่ลางานปัจจุบัน
include "connect.php";
$search_l = $y.$m;
$event_array=array();
$sql = "select * from Schedule_leave,Employee where Employee.EmpId = Schedule_leave.EmpId AND schedule_id LIKE '$search_l%' ORDER BY D_start";
$result = mysql_db_query($dbname,$sql);
$i =0;
$Num_Rows = mysql_num_rows($result);
while($dbarr = mysql_fetch_array($result,MYSQL_ASSOC))
{
$d_starty = (substr($dbarr[D_start],0,4)) - 543;
$d_startm = (substr($dbarr[D_start],5,2));
$d_startd = (substr($dbarr[D_start],8,2));
$d_endy = (substr($dbarr[D_End],0,4)) - 543;
$d_endm = (substr($dbarr[D_End],5,2));
$d_endd = (substr($dbarr[D_End],8,2));
$urls="../VivaClinic/Admin_AddSchedule.php?id_leave=";
$d_start = $d_starty."-".$d_startm."-".$d_startd;
$d_end = $d_endy."-".$d_endm."-".$d_endd;
$eventArray['id'] = $dbarr[schedule_id];
$eventArray['title'] = $dbarr[EmpId]." ".$dbarr[EmpName];
$eventArray['start'] = $d_start;
$eventArray['end'] = $d_end;
$eventArray['url'] = $urls;
array_push($event_array,$eventArray);
}
echo json_encode($event_array);
?>
ประยุกต์รูปแบบมาจาก http://stackoverflow.com/questions/6281963/how-to-build-a-json-array-from-mysql-database
|
|
|
|
|
Date :
2013-03-07 11:18:32 |
By :
Nws_Nax |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|