Upload
yusuf-ah
View
3.076
Download
10
Embed Size (px)
DESCRIPTION
Create Read Update Delete database dengan bahasa pemrograman web PHP
Citation preview
MATERI
PHP 2 : CRUD Database mysqlbagaiman memanipulasi database mysql menggunakan bahasa pemrograman web PHP
KATEGORIResearch team : Web Programing > PHP (Pemula)
OLEHYusuf Akhsan H. / @yussan_id
Yogyakarta 23 Juni 2014 Bahasa Indonesia
TENTANG
Pembahasan kali ini kita akan lebih serius, bagaimana untuk insert data ke databasemysql menggunakan bahasa PHP, edit data yang diinsert tadi, dan menghapusnya.
Pelajaran pada materi kali ini adalah sebagai berikut :
• QUERY DASAR CRUD
• METODE PENGIRIMAN DATA
• SELECT DATA
• INSERT DATA
• UPDATE DATA
• DELETE DATA
QUERY DASAR CRUDMerupakan bagian yang penting karena disinilah inti dari operasi CRUD pada sebuah web,PHP sebagai bahasa pemrograman fungsinya adalah untuk memanajemen data apa yangakan dikirim, dan query adalah perintah untuk melakukan CRUD pada data tadi. 3 yangmenjadi bahasa utama create, read, update, delete.
CREATE
Bagaimana kita bisa mengisi data pada tabel yang sudah disiapkan oleh database. Querydasar yang akan kita gunakan adalah INSERT INTO [tabel](kolom) VALUES ([data]).Sebelumnya pada materi PHP 1 , telah kita buat satu buah tabel anggota denganstruktur sebagai berikut.
Untuk testing, inputkan satu buah data anggota baru menggunakan query mysql. Untukeksekusi query bisa menggunakan fasilitas dari PHP myadmin, di tab 'sql', setelahmemilih database.
INSERT INTO anggota(nama_anggota,umur) VALUES('Pailus', 23)
Maka hasil dari eksekusi query tersebut, berhasil memasukan databaru ke tabel anggota,untuk id_anggotanya dikosongkan, karena sebelumnya telah kita setting auto incrementyang artinya otomatis mengisi dengan angka setelahnya pada id_anggota.
READ
Menampilkan data sesuai dengan ketentuan tertentu, misal menampilkan satu datadenan id sekian, menampilkan 5 data terbaru, menamplkan 10 terbaru berikutnya danmasih banyak lagi, untuk semua itu mysql menyediakan query SELECT yang digunakanuntuk membaca data.
Membaca Seluruh Isi Tabel
SELECT * FROM anggota
Menampilkan data dengan id_anggota tertentu
SELECT * FROM anggota WHERE id_anggota = 1
EDIT
Mengubah data sesuai dengan apa yang diinginkan , dalam mysql edit menggunakanquery UPDATE , untuk mengubah seluruh isi dari seluruh tabel cukup menggunakanperintah UPDATE.. untuk mengubah satu tabel, bisa menggunakan tambahan WHERE...
Mengubah data
Update data yussan yang sebelumnya berumur 20 tahun menjadi 21 tahun, untuk fokusmelakukan perbahan pada satu data, data tersebut harus mempunyai primary key sebagaiidentitas utamanya, dalam kasus ini primary keynya adalah id_anggota, dan id_anggotayussan adalah 1
UPDATE anggota SET umur = '21' WHERE id_anggota =1
Delete Data
Sangat riskan untuk menggunakan query ini, karena jika lupa menggunakan statementwhere maka seluruh data yang ada didatabase akan hilang. Untuk itu perhatikan denganbetul query yang akan anda jalankan sebelum mengeksekusinya.
Delete data anggota pailus
DELETE FROM anggota WHERE id_anggota = 5
METODE PENGIRIMAN DATAYang dijelaskan disini adalah bagaimana cara kita untuk mengirimkan data ke proseslainnya untuk kemudian diproses lebih lanjut, ada 2 metode yang paling sering digunakanyaitu “GET” dan “POST”. Masing-masing metode mempunyai perbedaan yang membuatnyadigunakan untuk keperluan yang berbeda-beda pula.
GET METHOD
Menggunakan get method memungkinkan user bisa membaca data yang dikirimkanmelalui address bar. Untuk gambarannya seperti ini lah get method,
http://alamatweb.com?variabel=data
Dari contoh diatas, bisa kita lihat setelah alamat web ditemukan tanda “?” yangmengartikan dimulainya penggunaan get method, untuk tulisan yang berada dibelakang“=” adalah variabel dari get method dan tulisan setelah “=” adalah data yang dikirmkan,jadi URL diatas mengartikan, kita mengirim data 'data' dengan variabel 'variabel' kehalaman alamatweb.com menggunakan get method. Ketika mengirim 2 buat data padasatu get method, maka penulisannya akan menjadi seperti ini.
http://alamatweb.com?variabel1=data1&variabel2=data2
POST METHOD
Penjelasan tentang post method sama dengan get method, hanya saja pada post method,kita tidak mengetahui data apa yang dikirimkan, karena data yang dikirimkan tidakditampilkan di url bar.
*tips)ketika dalam keperluan testing untuk mengecek apakan data yang dikirimkan denganpost method sudah sesuai dengan yang dinginkan, bisa menggunakan bantuan browser,dalam hal ini penuis menggunakan google chrome. Caranya : jalan method get yang sudahdisiapkan, cek data yang dikirim dengan (klik kanan pada halaman web inspect element→->network->cari method POST/GET dan klik untuk membacanya)
SELECT DATASebelumnya sudah dibuat database anggota yang berisi data anggota meliputi :id_anggota, nama_angggota, umur. Kini kita akan menampilkan tersebut dalam formattabel sehingga lebih mudah untuk dilakukan pembacaan .
Sebelum membuat fungsinya dengan PHP , terlebih dahulu kita buat tampilan HTMLnya.
Buka file index.php yang pernah digunakan sebelumnyam kita bersihkan hingga bersihdari codingan apapun.
Selanjutnya buat tag HTML dasar meliputi <html> sampai </html>.
<!DOCTYPE HTML><html><head>
<title></title></head><body>
</body></html>
Dilanjutkan dengan pembuatan tabel sekaligus preview jika dimasukan data, taruhdidalam tag <body>
<center><h1>DATA ANGGOTA</h1><br/>
<table width="50%"><tr><td colspan="3"><form><input type="text" value="Cari
Anggota..."><button type="submit">Cari</button></form></td></tr><tr style="backgroundcolor:#000;color:#fff"
width="60%"><td><strong>Id Anggota</strong></td><td><strong>Nama</strong></td><td><strong>Umur</strong></td>
</tr><tr>
<td>1</td><td>Yusuf Akhsan Hidayat</td><td><span style="marginright:10px">21 </span><a href="#">Edit</a><a href="#">Hapus</a></td>
</tr><tr>
<td>2</td><td>Muhammad Pailus</td><td>22</td>
</tr></table></center>
Maka penampilannya menjadi seperti ini.
Kemudian kita buat satu buah halaman lagi di folder yang sama dengan index.php, kitaberi nama edit.php (yang nantinya digunakan sebagai halaman untuk edit data didatabase). Di file edit.php, kita isi dengan tag html dan dibagaian <body> isi denganform seperti contoh dibawah.
<center><h1>Edit Data</h1><form>
<label>Nama: </label><input type="text" value="Nama Anggota"/><br/><label>Umur: </label><input type="number" value="21"/><br/><button type="submit">Update Data</button>
</form>
</center>
Halaman tampilan terakhir yang akan kita buat adalah untuk menanmpilkan hasilpencarian, buat PHP baru yang satu folder dengan index.php, kita beri nama cari.php.,halaman ini yang nantinya akan menampilkan data pencarian yang kita tulis diatas tabelyang menampilkan data anggota di file index.php.Setelah diisi dengan tag PHP dasar,lanjutnya dengan mengetik sintak berikut.
<center><h1>CARI ANGGOTA</h1><br/><p><strong>hasil pencarian untuk keyword :
"keyword"</strong></br></br><strong>Nama :</strong>Nama Anggota<br/><strong>Umur :</strong>Umur Anggota<br/><br/><a href="index.php">< Kembali Ke Daftar Anggota</a></p>
</center>
Hasilnya :
So, mari mulai kding untuk select datanya, pada latihan sebelumnya telah dibuat fileconnect.php yang berisi fungsi untuk koneksi ke database, kita gunakan lagi file tersebutdengan menambahkan baris ini di index.php paling atas.
<?php require_once('connect.php');?>
Didalam file index.php, kita variabel untuk menyimpan query , hasil query, dan array hasilquerynya untuk kemudian kita masukan kedalam tabel yang sudah dibuat tadi. Silahkanmasukan kode php ini dibawah <tr>nya id_anggota,nama, umur., sebelumnya hapuscontoh data yang telah kita buat dengan HTML tadi.
…<td><strong>Umur</strong></td>
</tr><?php
$sql = "SELECT * FROM anggota";$query = mysql_query($sql) or die("Gagal
eksekusi");while($row = mysql_fetch_assoc($query)) {
$id = $row['id_anggota'];$nama = $row['nama_anggota'];$umur = $row['umur'];
echo'<tr><td>'.$id.'</td><td>'.$nama.'</td><td><span style="marginright:10px">'.$umur.'</span>
<a href="#">Edit</a>|<a href="#">Hapus</a></td></tr>';
}}
?>
</table>…
hasilnya :
Untuk saat ini kita telah berhasil memasukan datanya kedalam tabel, yang kita buatberikutnya adalah membuat input text pencarian yang ada diatas tabel berhasildigunakan dan menampilkan hasil pencariannya di cari.php.
Yang dilakukan pertama adalah mengatur metode pengiriman data yang akan digunakandan url tujuan pengiriman data, untuk itu perhatikan <form>, dan penambahan namepada input type texxtnya, edit sesuai dengan petunjuk dibawah.
<form action="cari.php" method="GET"><input name="keyword" type="text" value="Cari Anggota..."/><button type="submit">Cari</button></form>
Mari kita testing pada ection dan methodnya sudah berjalan dengan baik, denganmemasukan kata didalam formnya kemudian klik tombol cari. Untuk test disini sayamengetikan keyword yussan.
Jika halamannya telah berubah, dan urlnya seperti pada gambar dibawah maka siapuntuk dilanjutkan kode berikutnya.
Yang diperlukan untuk membuat pencarian di index.php sudah selesai, kini giliran beralihkehalaman cari.php untuk menampilkan datanya.
Seperti pada halaman index.php, tambahkan fungsi untuk koneksi dengan database dibagian paling atas. Dibawahnya <h1>CARI ANGGOTA</h1><p> kita buat query untukmenampilkan data berdasarkan keyword.
<p><?php
$keyword = $_GET['keyword'];//memanggil data dari mget methog
$sql = "SELECT * FROM anggota WHERE nama_anggota LIKE '%".$keyword."%'";
$query = mysql_query($sql) or die("Gagal eksekusi");
while($row = mysql_fetch_assoc($query)) {$id = $row['id_anggota'];$nama =$row['nama_anggota'];$umur=$row['umur'];
?><strong>hasil pencarian untuk keyword : "<?php echo
$keyword;?>"</strong></br></br><strong>Id_anggota :</strong><?php echo $id;?> |<strong>Nama :</strong><?php echo $nama;?> |<strong>Umur :</strong><?php echo $umur;?><br/><br/>
<?php}
?><a href="index.php">< Kembali Ke Daftar Anggota</a>
</p>
Ada yang baru kita temukan adalah $_GET[], merupakan cariabel dimana tempat databerada, untuk indeksnya diisi dengan name dari input yang telah kita buat di form html.
INSERT DATAYang diperlukan dalam insert data adalah, form untuk tempat isi data dan file pemrosesdata, untuk itu sebelumnya kita buat terlebih dahulu file proses.php dalam folder yangsama dengan index.php untuk meletakan proses-proses yang diperlukan untuk latihankali ini.
Karena nantinya file proses.php ini tidak hanya digunakan untuk proses tambah data,maka kita buat switch agar proses.php juga bisa digunakan unutk edit dan delete data.
<?phprequire_once('connect.php');switch ($_GET['act']) {
case 'add':
break;
case 'edit':
break;
case 'delete':
break;
default:echo "Perintah anda tidak tersedia";break;
}?>File proses sudah disiapkan, kini kita buat form untuk memasukan data, kembali lagi ke
index.php
Dibagian atas cari anggota, kita buat form baru lagi untuk melakukan penambahananggota.
<h1>DATA ANGGOTA</h1><form method="POST" action="proses.php?act=add">
<strong>Tambah Anggota</strong><br/><label>Nama :</label><input type="text"
name="nama"/><br/><label>Umur :</label><input type="number"
name="umur"/><br/><button type="submit">Tambah Data</button>
</form><br/>
dan hasilnya :
Kembali lagi ke file proses.php, kini tujuan kita adalah membuat prosesnya agar data dariform bisa terkirim ke database.
Didalam case 'add' sampai break; silahkan tambahkan baris kode dibawah ini.
$nama = $_POST['nama'];$umur = $_POST['umur'];
$sql = "INSERT INTO anggota(nama_anggota,umur) VALUES('".$nama."',".$umur.")";
echo $sql;if(mysql_query($sql)){
echo ("<SCRIPT LANGUAGE='JavaScript'>window.alert('Data BERHASIL
ditambahkan');window.location.href='index.php';
</SCRIPT>");} else {
echo ("<SCRIPT LANGUAGE='JavaScript'>window.alert('Data GAGAL
ditambahkan');window.location.href='index.php';
</SCRIPT>");}
Dan akhirnya
EDIT DATALangkah berikutnya yang akan kita lakukan adalah edit data, dalam kasus ini penulis buatada 2 kondisi saat edit data, kondisi pertama, ketika proses menuju form edit data, dankondisi kedua adalah proses ketika memasukan hasil edit data ke database.
KONDISI PERTAMA
Pertama kita buat kondisi awal , yaitu ketika user klik “edit” yang ada di halamanindex.php maka akan masuk kehalaman edit.php dan siap untuk edit data. Masuk keindex.php di bagian while, edit <a> nya menjadi seperti ini.
<a href="edit.php?id='.$id.'">Edit</a>|<a href="#">Hapus</a>
Gambarannya ketika masuk halaman edit.php, juga mengirimkan data ke halamantersebut dengan get method. Urusan dihalaman index.php sudah berakhir, kini kitaberalih kehalaman edit.php
Seperti biasa masuk fungsi koneksi kedalam edit.php, selanjutnya kita buat query untukmenampilkan datanya dari database, karena disini kita hanya menampilkan satu barisdata saja, maka yang diperlukan adalah kolom unik, dan id_anggotalah yang digunakan,dikirim melalui method get dari index.php.
Isi keseluruhan edit.php
<?php require_once('connect.php');?><?php
$sql = "SELECT * FROM anggota WHERE id_anggota = ".$_GET['id'];
$query = mysql_query($sql) or die("Gagal eksekusi");$row = mysql_fetch_assoc($query);$id = $row['id_anggota'];$nama = $row['nama_anggota'];$umur = $row['umur'];
?><!DOCTYPE html><html><head>
<title></title></head><body>
<center><h1>Edit Data</h1><form>
<label>Nama: </label><input name=”nama” type="text" value="<?php echo
$nama?>"/><br/><label>Umur: </label><input name=”umur” type="number" value="<?php echo
$umur?>"/><input name=”id” type="hidden" value="<?php echo
$id?>"/><br/><button type="submit">Update Data</button>
</form></center>
</body></html>
Form edit telah tersedia, kini giliran masuk ke kondisi kedua untuk memasukan datanyakedalam database. Sebelumnya edit method dan action form yang ada di edit.php.
<form action="proses.php?act=edit" method="POST">
Kini giliran masuk kedalam proses.php untuk memberikan kondisional, memasukan hasiledit kedalam database.
Dalam case 'edit' sampai break; silahkan masukan kode dibawah ini untuk proses editdata di database.
$id = $_POST['id'];
$nama = $_POST['nama'];$umur = $_POST['umur'];$sql = "UPDATE anggota SET nama_anggota ='".
$nama."',umur=".$umur." WHERE id_anggota=".$id."";if(mysql_query($sql)){
echo ("<SCRIPT LANGUAGE='JavaScript'>window.alert('Data BERHASIL diedit');window.location.href='index.php';
</SCRIPT>");} else {
echo ("<SCRIPT LANGUAGE='JavaScript'>window.alert('Data GAGAL diedit');window.location.href='index.php';
</SCRIPT>");}
DELETE DATABab terakhir hapus data, hati-hati jangan sampai salah hapus data, tidak banyak langkahyang digunakan untuk melakukan delete data, so langsung mulai saja.
Pandangan pertama kita tertuju pada index.php, kita edit <a>hapus, yang didalam while,untuk kemudian diubah menjadi seperti berikut.
<a href="edit.php?id='.$id.'">Edit</a>|<a onclick="return confirm(\'Apakah Anda Yakin\')" href="proses.php?act=delete&id='.$id.'">Hapus</a>
index.php sudah selesai, kini beralih ke halaman proses.php, perhatian kini pada case 'delete', karena proses delete akan kita taruh didalam situ.$id= $_GET['id'];
$sql = "DELETE FROM anggota WHERE id_anggota=".$id."";
if(mysql_query($sql)){echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('Data BERHASIL didelete');
window.location.href='index.php';</SCRIPT>");
} else {echo ("<SCRIPT LANGUAGE='JavaScript'>
window.alert('Data GAGAL didelete');window.location.href='index.php';
</SCRIPT>");}