Membuat Kalender Jadwal Dengan PHP, Mysql, dan Fullcalendar.js

Please download to get full document.

View again

of 7
22 views
PDF
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Document Description
Membuat Kalender Jadwal Dengan PHP, Mysql, dan Fullcalendar.js Oleh: Dimas Agung Noviyanto Mau bikin kalender jadwal sendiri atau aplikasi jadwal lainnya?anda beruntung dapat menemukan tutorial ini. Sekarang
Document Share
Document Transcript
Membuat Kalender Jadwal Dengan PHP, Mysql, dan Fullcalendar.js Oleh: Dimas Agung Noviyanto Mau bikin kalender jadwal sendiri atau aplikasi jadwal lainnya?anda beruntung dapat menemukan tutorial ini. Sekarang saya akan membahas cara membuat kalender jadwal dengan PHP MySQL. Pada tutorial ini anda akan belajar membuat event calendar dengan fungsi-fungsi CREATE, READ, UPDATE, dan DELETE.Untuk m... Mau bikin kalender jadwal sendiri atau aplikasi jadwal lainnya?anda beruntung dapat menemukan tutorial ini. Sekarang saya akan membahas cara membuat kalender jadwal dengan PHP MySQL. Jadwal tersebut berupa event calendar yang akan menampilkan calendar event atau jadwal.pada tutorial ini anda akan belajar membuat event calendar dengan fungsi-fungsi CREATE, READ, UPDATE, dan DELETE. Untuk membuat kalender jadwal ini, kita membutuhkan plugin fullcalendar,jquery.min, jquery-ui.min, dan moment.min. Sebelum mulai melakukan koding, kita buat databasenya terlebih dahulu Buat database calendar lalu tambahkan tabel event : -- Dumping structure for table calendar.event CREATE TABLE IF NOT EXISTS `event` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `startdate` varchar(48) NOT NULL, `enddate` varchar(48) NOT NULL, `allday` varchar(5) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1; Contoh datanya sebagai berikut: -- Dumping data for table calendar.event: ~5 rows (approximately) INSERT INTO `calendar` (`id`, `title`, `startdate`, `enddate`, `allday`) VALUES (1, 'Jadwal 1', ' T00:06:00', ' T00:06:00', 'false'), (3, 'Jadwal 2', ' T00:06:00+', ' T00:06:00+', 'false'), (4, 'Jadwal 3', ' T00:06:00+America/Chicago', ' T00:06:00+America/Chicago', 'false'), (5, 'Jadwal 4', ' T00:06:00+07:00', ' T00:06:00+07:00', 'false'), (6, 'Jadwal 5', ' T00:06:00+07:00', ' T00:06:00+07:00', 'false'); Setelah database siap, let's start coding... Buat file index.php dengan papran kode sebagai berikut: 1. Include kode css dan js terlebih dahulu... link href='assets/css/fullcalendar.css' rel='stylesheet' / link href='assets/css/fullcalendar.print.css' rel='stylesheet' media='print' / link href='assets/css/style.css' rel='stylesheet' / script src='assets/js/moment.min.js' /script script src='assets/js/jquery.min.js' /script script src='assets/js/jquery-ui.min.js' /script 2. Buat event handling jquerinya... -Untuk input jadwal baru ke database eventreceive: function(event) var title = event.title; var start = event.start.format( yyyy-mm-dd[t]hh:mm:ss ); $.ajax( url: 'process.php', data: 'type=new&title='+title+'&startdate='+start+'&zone='+zone, type: 'POST', datatype: 'json', success: function(response) event.id = response.eventid; $('#calendar').fullcalendar('updateevent',event);, error: function(e) console.log(e.responsetext); ); $('#calendar').fullcalendar('updateevent',event); console.log(event);, Pada tutorial ini kita dapat menambahkan jadwal baru dengan cara drag and drop event ke dalam tampilan kalender yang dibuat nantinya. -Untuk update jadwal eventclick: function(event, jsevent, view) console.log(event.id); var title = prompt('event Title:', event.title, buttons: Ok: true, Cancel: false ); if (title) event.title = title; console.log('type=changetitle&title='+title+'&eventid='+event.id); $.ajax( url: 'process.php', data: 'type=changetitle&title='+title+'&eventid='+event.id, type: 'POST', datatype: 'json', success: function(response) if(response.status == 'success') $('#calendar').fullcalendar('updateevent',event);, '+e.responsetext);, ); error: function(e) alert('error processing your request: -Untuk menghapus jadwal eventdragstop: function (event, jsevent, ui, view) if (iselemoverdiv()) var con = confirm('are you sure to delete this event permanently?'); if(con == true) $.ajax( url: 'process.php', data: 'type=remove&eventid='+event.id, type: 'POST', datatype: 'json', success: function(response) console.log(response); if(response.status == 'success') jquery('#calendar').fullcalendar('removeevents', event.id);, error: function(e) alert('error processing your request: '+e.responsetext); ); function iselemoverdiv() var trashel = jquery('#trash'); var ofs = trashel.offset(); var x1 = ofs.left; var x2 = ofs.left + trashel.outerwidth(true); var y1 = ofs.top; var y2 = ofs.top + trashel.outerheight(true); if (currentmousepos.x = x1 && currentmousepos.x = x2 && currentmousepos.y = y1 && currentmousepos.y = y2) return true; return false; 3. Buat view untuk menampilkan event calendar... div id='wrap' div id='external-events' h4 draggable Events /h4 div class='fc-event' new Event /div p img src= assets/img/trashcan.png id= trash alt= /p /div /div div id='calendar' /div div style='clear:both' /div Buat file process.php Saat event, untuk memproses data kita memanggil fungsi dari process.php. Nantinya hasil output kalender akan ditampilkan pada id calendar. div id='calendar' /div Adapun fungsi-fungsi dalam process.php adalah sebagai berikut: -Untuk insert data ke database $type = $_POST['type']; if($type == 'new') $startdate = $_POST['startdate'].'+'.$_POST['zone']; $title = $_POST['title']; $insert = mysqli_query($con, insert INTO calendar(`title`, `startdate`, `enddate`, `allday`) VALUES('$title','$startdate','$startdate','false') ); $lastid = mysqli_insert_id($con); echo json_encode(array('status'= 'success','eventid'= $lastid)); -Untuk update jadwal if($type == 'changetitle') $eventid = $_POST['eventid']; $title = $_POST['title']; $update = mysqli_query($con, update calendar SET title='$title' where id='$eventid' ); if($update) echo json_encode(array('status'= 'success')); else echo json_encode(array('status'= 'failed')); -Untuk reset tanggal if($type == 'resetdate') $title = $_POST['title']; $startdate = $_POST['start']; $enddate = $_POST['end']; $eventid = $_POST['eventid']; $update = mysqli_query($con, update calendar SET title='$title', startdate = '$startdate', enddate = '$enddate' where id='$eventid' ); if($update) echo json_encode(array('status'= 'success')); else echo json_encode(array('status'= 'failed')); -Untuk menghapus jadwal if($type == 'remove') $eventid = $_POST['eventid']; $delete = mysqli_query($con, delete FROM calendar where id='$eventid' ); if($delete) echo json_encode(array('status'= 'success')); else echo json_encode(array('status'= 'failed')); -Untuk menampilkan data jadwal if($type == 'fetch') $events = array(); $query = mysqli_query($con, SELECT * FROM calendar ); while($fetch = mysqli_fetch_array($query,mysqli_assoc)) $e = array(); $e['id'] = $fetch['id']; $e['title'] = $fetch['title']; $e['start'] = $fetch['startdate']; $e['end'] = $fetch['enddate']; $allday = ($fetch['allday'] == true )? true : false; $e['allday'] = $allday; array_push($events, $e); echo json_encode($events); Output datanya berupa json, ada 3 parameter yg dibutuhkan oleh fullcalendar, yaitu title, start dan end. Sekian, semoga bermanfaat... Untuk kode lengkapnya silahkan download disini Tentang Penulis Dimas Agung Noviyanto
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks