MEMBUAT MASTER BERITA Teknik Informatika – Sopingi, M.Kom 1. Buatlah File “index.php” File ini digunakan untuk menampilkan form dan datagrid tabel berita
url : file JSON yang akan ditampilkan (JSON dibuat oleh tampil.php) toolbar : menu diatas datagrid, pagination : halaman, rownumbers : no.baris fitcolumns: kolom menyesuaikan isi konten, singleSelect: hanya boleh memilih 1 baris
tgl_berita : nama kolom di tabel berita judul_berita : nama kolom di tabel berita
Id_berita, judul_berita, konten_berita :samakan dengan nama kolom file_gbr_berita: khusus input file tidak boleh sama dengan nama komlom gbr_berita
<script type="text/javascript"> function proses(){ $.messager.progress({ title :'Proses', msg :'Loading...', text :'' }); } function proses_tutup(){ $.messager.progress('close'); }
Dialog Animasi Loading
Menutup Dialog Animasi Loading
var url; var p; Form dikosongkan function tambah(){ $('#fm_berita').form('clear'); $('#dialog_berita').dialog('open').dialog('setTitle','Tambah berita'); url = 'berita/tambah.php'; }
Buka dialog_berita dan ubah judulnya
function simpan(){ if ($('#fm_berita').form('validate')){ proses(); }
Proses validasi FORM sudah diisi atau belum
$('#fm_berita').form('submit', { Form disubmit/diposting url: url, onSubmit: function(){ return $(this).form('validate'); },
Ketika sukses posting success: function (result){ proses_tutup(); var result = eval ('('+result+')'); if (result.hasil=="0"){ Jika hasil 0 maka muncul “Gagal Simpan” $.messager.alert( { title:'Kesalahan', msg: 'Gagal Simpan' }); } else if (result.hasil=="-1"){ Jika hasil -1 maka muncul “Format gambar salah” $.messager.alert( { title:'Kesalahan', msg: 'Format Gambar : JPG, PNG atau GIF' }); } else { Jika hasil bukan 0 atau -1 (tapi hasil = 1) maka $('#fm_berita').form('clear'); form dikosongkan, $('#dialog_berita').dialog('close'); Datagrid diReload, $('#dg_berita').datagrid('reload'); $.messager.alert( { Dan muncul “Berhasil Simpan” title:'Informasi', msg: 'Berhasil Simpan' }); } } }); }
Data yang dipilih di datagrid (dg_berita)
function ubah(){ var row = $('#dg_berita').datagrid('getSelected'); Jika ada baris yang dipilih maka if (row){ $('#dialog_berita').dialog('open'); - Buka dialog (dialog_berita) $('#dialog_berita').dialog('setTitle','Ubah berita'); - Ubah judulnya menjadi “Ubah Berita” $('#fm_berita').form('load',row); - Tampian data di baris yang dipilih di FORM url = 'berita/ubah.php'; - Ubah variable URL=”berita/ubah.php” } else { $.messager.alert( { title:'Info', msg: 'Tidak ada data yang dipilih' Jika TIDAK ada baris yang dipilih maka: }); Muncul “Tidak ada data yg dipilih” } }
Data yang dipilih di datagrid (dg_berita) function hapus(){ var row = $('#dg_berita').datagrid('getSelected');
Jika ada data yg dipilih, maka muncul konfirmasi
if (row){ $.messager.confirm("Confirm","Yakin hapus data ini :
"+row.judul_berita+" ?",function(r){ if (r){ proses(); Post ke “berita/hapus.php” dengan membawa parameter: post('berita/hapus.php',{id_berita:row.id_berita},function(result){ nilai “id_berita” dibaris yang dipilih proses_tutup(); if (result.success){ $('#fm_berita').form('clear'); Jika sukses posting maka: $('#dg_berita').datagrid('reload'); Form dikosongkan dan datagrid diReload } else { $.messager.show({ title: 'Kesalahan', msg: 'Gagal Hapus' Jika GAGAL posting maka: }); Muncul “Gagal Hapus” } },'json'); } }); } } <style type="text/css"> #fm{ margin:0; } .ftitle{ font-size:14px; font-weight: bold; margin-bottom:10px; border-bottom:1px solid #ccc; } .fitem{ margin-bottom: 10px; } .fitem label{ font-weight: bold; display: block; width:200px; text-align: left; vertical-align: top; }
2. Buatlah File “tampil.php” Digunakan untuk membuat data JSON dari tabel “berita”. Data JSON akan ditampilan di datagrid (file index.php)
Panggil koneksi
$hal = isset($_POST['page']) ? intval($_POST['page']) : 1; $juml_baris = isset($_POST['rows']) ? intval($_POST['rows']) : 10; $batas = ($hal-1)*$juml_baris;
Berita = nama tabel Id_berita = primary key
$hasil = array(); $rs = mysql_query("select count(*) from berita "); $baris = mysql_fetch_row($rs); $hasil["total"] = $baris[0]; $rs = mysql_query("select * from berita order by id_berita
desc limit $batas,$juml_baris");
$data = array(); while($row = mysql_fetch_object($rs)){ array_push($data, $row); } $hasil["rows"] = $data; echo json_encode($hasil); ?>
3. Buatlah file “tambah.php” Digunakan untuk menyimpan data berita dari posting form file index.php
Panggil koneksi
= date("Y-m-d H:i:s"); = addcslashes($_REQUEST['judul_berita'],"'"); = addcslashes($_REQUEST['konten_berita'],"'");
$rand=date('ymdHis'); $filename = $rand."_".$_FILES["file_gbr_berita"]["name"]; $fileTypes = array('png','jpg','gif','PNG','JPG','GIF'); $fileParts = pathinfo($filename);
tanggal dan jam sekarang judul_berita dan konten_berita nama dari input FORM date("Y-m-d H:i:s") :
file_gbr_berita : nama dari input file FORM pathinfo($filename): lokasi file gambar di komputer
Jika file gambar PNG, JPG atau GIF maka diproses UPLOAD if (in_array($fileParts['extension'],$fileTypes)) { $filename=str_replace("'","",$filename); move_uploaded_file($_FILES["file_gbr_berita"]["tmp_name"],"../../images/".$filename); $sql = "insert into berita values (NULL,'$judul_berita','$tgl_berita','$konten_berita','$filename')"; $result = @mysql_query($sql); if ($result){ echo json_encode(array('hasil'=>'1')); } else { echo json_encode(array('hasil'=>'0')); } } else { echo json_encode(array('hasil'=>'-1')); } ?>
4. Buatlah file “ubah.php” Digunakan untuk merubah data berita yang dipilih kemudian di posting dari file index.php
= = = =
date("Y-m-d H:i:s"); addcslashes($_REQUEST['id_berita'],"'"); addcslashes($_REQUEST['judul_berita'],"'"); addcslashes($_REQUEST['konten_berita'],"'");
$rand=date('ymdHis'); $filename = $rand."_".$_FILES["file_gbr_berita"]["name"]; $fileTypes = array('png','jpg','gif','PNG','JPG','GIF'); $fileParts = pathinfo($filename);
Jika ada file gambar maka gambar diUPLOAD Dan kolom gbr_berita diUPDATE
if ($filename!="") { if (in_array($fileParts['extension'],$fileTypes)) { $filename=str_replace("'","",$filename); move_uploaded_file($_FILES["file_gbr_berita"]["tmp_name"],"../../images/".$filename); $sql = "update berita set tgl_berita='$tgl_berita', judul_berita='$judul_berita', konten_berita='$konten_berita',gbr_berita='$filename' where id_berita='$id_berita'";
$result = @mysql_query($sql); if ($result){ echo json_encode(array('hasil'=>'1')); } else { echo json_encode(array('hasil'=>'0')); } } else { echo json_encode(array('hasil'=>'-1')); }
Jika TIDAK ADA file gambar maka tidak ada proses UPLOAD gambar
} else { $sql = "update berita set tgl_berita='$tgl_berita', judul_berita='$judul_berita', konten_berita='$konten_berita' where id_berita='$id_berita'"; $result = @mysql_query($sql); if ($result){ echo json_encode(array('hasil'=>'1')); } else { echo json_encode(array('hasil'=>'0')); } } ?>
5. Buatlah file “hapus.php” Digunakan untuk menghapus data berita yang dipilih dari datagrid file index.php
Id_berita : primary key tabel berita
$id_berita = htmlspecialchars($_REQUEST['id_berita']); $sql = "delete from berita where id_berita='$id_berita'"; $result = @mysql_query($sql); if ($result){ echo json_encode(array('success'=>true)); } else { echo json_encode(array('errorMsg'=>false)); } ?>
6. Edit “admin/index.php”
Tambahkan tag
dan Onclick