SlideShare a Scribd company logo
3
Most read
4
Most read
20
Most read
MATERI
PHP 2 : CRUD Database mysql
bagaiman memanipulasi database mysql menggunakan bahasa pemrograman web PHP
KATEGORI
Research team : Web Programing > PHP (Pemula)
OLEH
Yusuf Akhsan H. / @yussan_id
Yogyakarta 23 Juni 2014
Bahasa Indonesia
TENTANG
Pembahasan kali ini kita akan lebih serius, bagaimana untuk insert data ke database
mysql 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 CRUD
Merupakan bagian yang penting karena disinilah inti dari operasi CRUD pada sebuah web,
PHP sebagai bahasa pemrograman fungsinya adalah untuk memanajemen data apa yang
akan dikirim, dan query adalah perintah untuk melakukan CRUD pada data tadi. 3 yang
menjadi bahasa utama create, read, update, delete.
CREATE
Bagaimana kita bisa mengisi data pada tabel yang sudah disiapkan oleh database. Query
dasar yang akan kita gunakan adalah INSERT INTO [tabel](kolom) VALUES ([data]).
Sebelumnya pada materi PHP 1 , telah kita buat satu buah tabel anggota dengan
struktur sebagai berikut.
Untuk testing, inputkan satu buah data anggota baru menggunakan query mysql. Untuk
eksekusi query bisa menggunakan fasilitas dari PHP myadmin, di tab 'sql', setelah
memilih 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 increment
yang artinya otomatis mengisi dengan angka setelahnya pada id_anggota.
READ
Menampilkan data sesuai dengan ketentuan tertentu, misal menampilkan satu data
denan id sekian, menampilkan 5 data terbaru, menamplkan 10 terbaru berikutnya dan
masih banyak lagi, untuk semua itu mysql menyediakan query SELECT yang digunakan
untuk 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 menggunakan
query UPDATE , untuk mengubah seluruh isi dari seluruh tabel cukup menggunakan
perintah UPDATE.. untuk mengubah satu tabel, bisa menggunakan tambahan WHERE...
Mengubah data
Update data yussan yang sebelumnya berumur 20 tahun menjadi 21 tahun, untuk fokus
melakukan perbahan pada satu data, data tersebut harus mempunyai primary key sebagai
identitas utamanya, dalam kasus ini primary keynya adalah id_anggota, dan id_anggota
yussan adalah 1
UPDATE  anggota SET  umur = '21' WHERE id_anggota =1
Delete Data
Sangat riskan untuk menggunakan query ini, karena jika lupa menggunakan statement
where maka seluruh data yang ada didatabase akan hilang. Untuk itu perhatikan dengan
betul query yang akan anda jalankan sebelum mengeksekusinya.
Delete data anggota pailus
DELETE FROM anggota WHERE id_anggota = 5
METODE PENGIRIMAN DATA
Yang dijelaskan disini adalah bagaimana cara kita untuk mengirimkan data ke proses
lainnya untuk kemudian diproses lebih lanjut, ada 2 metode yang paling sering digunakan
yaitu “GET” dan “POST”. Masing-masing metode mempunyai perbedaan yang membuatnya
digunakan untuk keperluan yang berbeda-beda pula.
GET METHOD
Menggunakan get method memungkinkan user bisa membaca data yang dikirimkan
melalui 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 “?” yang
mengartikan 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' ke
halaman alamatweb.com menggunakan get method. Ketika mengirim 2 buat data pada
satu 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 tidak
ditampilkan di url bar.
*tips)ketika dalam keperluan testing untuk mengecek apakan data yang dikirimkan dengan
post method sudah sesuai dengan yang dinginkan, bisa menggunakan bantuan browser,
dalam hal ini penuis menggunakan google chrome. Caranya : jalan method get yang sudah
disiapkan, cek data yang dikirim dengan (klik kanan pada halaman web inspect element→
->network->cari method POST/GET dan klik untuk membacanya)
SELECT DATA
Sebelumnya sudah dibuat database anggota yang berisi data anggota meliputi :
id_anggota, nama_angggota, umur. Kini kita akan menampilkan tersebut dalam format
tabel 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 bersih
dari 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, taruh
didalam 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="background­color:#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="margin­right: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, kita
beri nama edit.php (yang nantinya digunakan sebagai halaman untuk edit data di
database). Di file edit.php, kita isi dengan tag html dan dibagaian <body> isi dengan
form 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 hasil
pencarian, 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 tabel
yang 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 file
connect.php yang berisi fungsi untuk koneksi ke database, kita gunakan lagi file tersebut
dengan 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 hasil
querynya untuk kemudian kita masukan kedalam tabel yang sudah dibuat tadi. Silahkan
masukan kode php ini dibawah <tr>nya id_anggota,nama, umur., sebelumnya hapus
contoh 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="margin­right: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 buat
berikutnya adalah membuat input text pencarian yang ada diatas tabel berhasil
digunakan dan menampilkan hasil pencariannya di cari.php.
Yang dilakukan pertama adalah mengatur metode pengiriman data yang akan digunakan
dan url tujuan pengiriman data, untuk itu perhatikan <form>, dan penambahan name
pada 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, dengan
memasukan kata didalam formnya kemudian klik tombol cari. Untuk test disini saya
mengetikan keyword yussan.
Jika halamannya telah berubah, dan urlnya seperti pada gambar dibawah maka siap
untuk dilanjutkan kode berikutnya.
Yang diperlukan untuk membuat pencarian di index.php sudah selesai, kini giliran beralih
kehalaman cari.php untuk menampilkan datanya.
Seperti pada halaman index.php, tambahkan fungsi untuk koneksi dengan database di
bagian paling atas. Dibawahnya <h1>CARI ANGGOTA</h1><p> kita buat query untuk
menampilkan 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 data
berada, untuk indeksnya diisi dengan name dari input yang telah kita buat di form html.
INSERT DATA
Yang diperlukan dalam insert data adalah, form untuk tempat isi data dan file pemroses
data, untuk itu sebelumnya kita buat terlebih dahulu file proses.php dalam folder yang
sama dengan index.php untuk meletakan proses-proses yang diperlukan untuk latihan
kali 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.
<?php
require_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 penambahan
anggota.
<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 dari
form 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 DATA
Langkah berikutnya yang akan kita lakukan adalah edit data, dalam kasus ini penulis buat
ada 2 kondisi saat edit data, kondisi pertama, ketika proses menuju form edit data, dan
kondisi 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 halaman
index.php maka akan masuk kehalaman edit.php dan siap untuk edit data. Masuk ke
index.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 halaman
tersebut dengan get method. Urusan dihalaman index.php sudah berakhir, kini kita
beralih kehalaman edit.php
Seperti biasa masuk fungsi koneksi kedalam edit.php, selanjutnya kita buat query untuk
menampilkan datanya dari database, karena disini kita hanya menampilkan satu baris
data 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 datanya
kedalam 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 hasil
edit kedalam database.
Dalam case 'edit' sampai break; silahkan masukan kode dibawah ini untuk proses edit
data 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 DATA
Bab terakhir hapus data, hati-hati jangan sampai salah hapus data, tidak banyak langkah
yang 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>");
}
PHP CRUD Database Mysql

More Related Content

PPTX
Pengembangan Sistem Informasi Manajemen
PDF
Pengantar teknik informatika
PPTX
Bootstrap
PPTX
Presentation on Numerical Integration
PPTX
CLOUD COMPUTING
PDF
12 regresi
PDF
Business Process Modelling Notation - overview
PPT
It Consulting Slides
Pengembangan Sistem Informasi Manajemen
Pengantar teknik informatika
Bootstrap
Presentation on Numerical Integration
CLOUD COMPUTING
12 regresi
Business Process Modelling Notation - overview
It Consulting Slides

What's hot (20)

PPTX
Ppt pengenalan dan pemrograman java
PDF
08. mengakses multiple tabel
PDF
OPERASI INPUT OUTPUT di Linux
PDF
Pengenalan Framework CodeIgniter
PPT
Perancangan Sistem Secara Umum
PDF
[PBO] Pertemuan 6 - Interface
PDF
SQL bertingkat
PPTX
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
PPT
Modul basis data (database)
PDF
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
PDF
Data Management (Relational Database)
PPTX
Function dalam PHP
PDF
3 rekayasa kebutuhan
PPTX
Presentasi konsep dasar html
DOCX
Materi Basis Data - Anomali dan Normalisasi
PPTX
Materi struktur hirarki basis data
PDF
Pertemuan 3 Data Multi Dimensi
PDF
04. manipulasi data perintah insert
DOCX
Pbo perbandingan antara pemrograman procedural dengan pemrograman beroriant...
PDF
[RPL2] Sequence Diagram
Ppt pengenalan dan pemrograman java
08. mengakses multiple tabel
OPERASI INPUT OUTPUT di Linux
Pengenalan Framework CodeIgniter
Perancangan Sistem Secara Umum
[PBO] Pertemuan 6 - Interface
SQL bertingkat
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Modul basis data (database)
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
Data Management (Relational Database)
Function dalam PHP
3 rekayasa kebutuhan
Presentasi konsep dasar html
Materi Basis Data - Anomali dan Normalisasi
Materi struktur hirarki basis data
Pertemuan 3 Data Multi Dimensi
04. manipulasi data perintah insert
Pbo perbandingan antara pemrograman procedural dengan pemrograman beroriant...
[RPL2] Sequence Diagram
Ad

Viewers also liked (20)

PPT
Short Intro to PHP and MySQL
PPTX
Mysql Crud, Php Mysql, php, sql
PPTX
PHP - Beginner's Workshop
PDF
How to make Android apps secure: dos and don’ts
PPT
Codeigniter
PPT
PPT
Php Presentation
PPT
PHP - Introduction to PHP MySQL Joins and SQL Functions
PDF
Ghost : From Offline to Online
PPT
PEMROGRAMAN MOBILE "AJAX PADA JQUERY"
PDF
Presentasi Ujian Akhir STMIK Amikom Yogyakarta
PDF
Jquery Ajax Part 1 by Yussan
PPTX
working with PHP & DB's
PPTX
Ajax and Jquery
PPTX
PDF
Hitung Ongkos Kirim Menggunakan API rajaongkir.com dengan PHP+JQUERY
PPT
PHP & MySQL 教學
DOCX
Belajar pemrograman java dasar
PDF
Buku jvv jilid 1 ok
PDF
Modul Praktek Java OOP
Short Intro to PHP and MySQL
Mysql Crud, Php Mysql, php, sql
PHP - Beginner's Workshop
How to make Android apps secure: dos and don’ts
Codeigniter
Php Presentation
PHP - Introduction to PHP MySQL Joins and SQL Functions
Ghost : From Offline to Online
PEMROGRAMAN MOBILE "AJAX PADA JQUERY"
Presentasi Ujian Akhir STMIK Amikom Yogyakarta
Jquery Ajax Part 1 by Yussan
working with PHP & DB's
Ajax and Jquery
Hitung Ongkos Kirim Menggunakan API rajaongkir.com dengan PHP+JQUERY
PHP & MySQL 教學
Belajar pemrograman java dasar
Buku jvv jilid 1 ok
Modul Praktek Java OOP
Ad

Similar to PHP CRUD Database Mysql (20)

PDF
7 jam membuat web dari nol
PDF
Tutorial crud PHP
PDF
80325555 modul-7-jam-membuat-web-dari-nol
PDF
Membuat CRUD data Mahasiswa dengan PHP MYSQLi.pdf
PDF
Panduan Pemrograman Berbasis Web dengan HTML, PHP, dan Database MySQL Part 2 ...
PDF
PDF
Wawan tutorial-zend-bagian-4
PDF
Modul pembuatan aplikasi login dengan php dan my sq lx
PDF
Modul pembuatan aplikasi login dengan php dan my sq lx
DOCX
Membuat form login dengan php mysql
PPTX
Insert dan View Data.pptx
DOCX
Tutorial Postgre SQL
PDF
Php CMS tutorial
PDF
Php tutorial-17
PDF
Panduan sederhana eprints
PDF
Tugas5 1300631024
PDF
Praktikum Sistem Basis Data menggunakan PostgresSQL
PDF
Instalasi Oracle Xe Dan Administrasi User
PDF
Proyek+membangun+cms+tanpa+oop
PDF
Bab2 form php
7 jam membuat web dari nol
Tutorial crud PHP
80325555 modul-7-jam-membuat-web-dari-nol
Membuat CRUD data Mahasiswa dengan PHP MYSQLi.pdf
Panduan Pemrograman Berbasis Web dengan HTML, PHP, dan Database MySQL Part 2 ...
Wawan tutorial-zend-bagian-4
Modul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lx
Membuat form login dengan php mysql
Insert dan View Data.pptx
Tutorial Postgre SQL
Php CMS tutorial
Php tutorial-17
Panduan sederhana eprints
Tugas5 1300631024
Praktikum Sistem Basis Data menggunakan PostgresSQL
Instalasi Oracle Xe Dan Administrasi User
Proyek+membangun+cms+tanpa+oop
Bab2 form php

PHP CRUD Database Mysql

  • 1. MATERI PHP 2 : CRUD Database mysql bagaiman memanipulasi database mysql menggunakan bahasa pemrograman web PHP KATEGORI Research team : Web Programing > PHP (Pemula) OLEH Yusuf Akhsan H. / @yussan_id Yogyakarta 23 Juni 2014 Bahasa Indonesia
  • 2. TENTANG Pembahasan kali ini kita akan lebih serius, bagaimana untuk insert data ke database mysql 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
  • 3. QUERY DASAR CRUD Merupakan bagian yang penting karena disinilah inti dari operasi CRUD pada sebuah web, PHP sebagai bahasa pemrograman fungsinya adalah untuk memanajemen data apa yang akan dikirim, dan query adalah perintah untuk melakukan CRUD pada data tadi. 3 yang menjadi bahasa utama create, read, update, delete. CREATE Bagaimana kita bisa mengisi data pada tabel yang sudah disiapkan oleh database. Query dasar yang akan kita gunakan adalah INSERT INTO [tabel](kolom) VALUES ([data]). Sebelumnya pada materi PHP 1 , telah kita buat satu buah tabel anggota dengan struktur sebagai berikut. Untuk testing, inputkan satu buah data anggota baru menggunakan query mysql. Untuk eksekusi query bisa menggunakan fasilitas dari PHP myadmin, di tab 'sql', setelah memilih 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 increment yang artinya otomatis mengisi dengan angka setelahnya pada id_anggota.
  • 4. READ Menampilkan data sesuai dengan ketentuan tertentu, misal menampilkan satu data denan id sekian, menampilkan 5 data terbaru, menamplkan 10 terbaru berikutnya dan masih banyak lagi, untuk semua itu mysql menyediakan query SELECT yang digunakan untuk 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 menggunakan query UPDATE , untuk mengubah seluruh isi dari seluruh tabel cukup menggunakan perintah UPDATE.. untuk mengubah satu tabel, bisa menggunakan tambahan WHERE... Mengubah data Update data yussan yang sebelumnya berumur 20 tahun menjadi 21 tahun, untuk fokus melakukan perbahan pada satu data, data tersebut harus mempunyai primary key sebagai identitas utamanya, dalam kasus ini primary keynya adalah id_anggota, dan id_anggota yussan adalah 1
  • 5. UPDATE  anggota SET  umur = '21' WHERE id_anggota =1 Delete Data Sangat riskan untuk menggunakan query ini, karena jika lupa menggunakan statement where maka seluruh data yang ada didatabase akan hilang. Untuk itu perhatikan dengan betul query yang akan anda jalankan sebelum mengeksekusinya. Delete data anggota pailus DELETE FROM anggota WHERE id_anggota = 5
  • 6. METODE PENGIRIMAN DATA Yang dijelaskan disini adalah bagaimana cara kita untuk mengirimkan data ke proses lainnya untuk kemudian diproses lebih lanjut, ada 2 metode yang paling sering digunakan yaitu “GET” dan “POST”. Masing-masing metode mempunyai perbedaan yang membuatnya digunakan untuk keperluan yang berbeda-beda pula. GET METHOD Menggunakan get method memungkinkan user bisa membaca data yang dikirimkan melalui 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 “?” yang mengartikan 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' ke halaman alamatweb.com menggunakan get method. Ketika mengirim 2 buat data pada satu 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 tidak ditampilkan di url bar. *tips)ketika dalam keperluan testing untuk mengecek apakan data yang dikirimkan dengan post method sudah sesuai dengan yang dinginkan, bisa menggunakan bantuan browser, dalam hal ini penuis menggunakan google chrome. Caranya : jalan method get yang sudah disiapkan, cek data yang dikirim dengan (klik kanan pada halaman web inspect element→ ->network->cari method POST/GET dan klik untuk membacanya)
  • 7. SELECT DATA Sebelumnya sudah dibuat database anggota yang berisi data anggota meliputi : id_anggota, nama_angggota, umur. Kini kita akan menampilkan tersebut dalam format tabel 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 bersih dari 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, taruh didalam 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="background­color:#000;color:#fff"  width="60%"> <td><strong>Id Anggota</strong></td> <td><strong>Nama</strong></td> <td><strong>Umur</strong></td>
  • 8. </tr> <tr> <td>1</td> <td>Yusuf Akhsan Hidayat</td> <td><span style="margin­right: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, kita beri nama edit.php (yang nantinya digunakan sebagai halaman untuk edit data di database). Di file edit.php, kita isi dengan tag html dan dibagaian <body> isi dengan form 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>
  • 9. </center> Halaman tampilan terakhir yang akan kita buat adalah untuk menanmpilkan hasil pencarian, 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 tabel yang 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 :
  • 10. So, mari mulai kding untuk select datanya, pada latihan sebelumnya telah dibuat file connect.php yang berisi fungsi untuk koneksi ke database, kita gunakan lagi file tersebut dengan 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 hasil querynya untuk kemudian kita masukan kedalam tabel yang sudah dibuat tadi. Silahkan masukan kode php ini dibawah <tr>nya id_anggota,nama, umur., sebelumnya hapus contoh 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="margin­right:10px">'.$umur.'</span> <a href="#">Edit</a>|<a  href="#">Hapus</a></td></tr>'; } }
  • 11. ?> </table> … hasilnya : Untuk saat ini kita telah berhasil memasukan datanya kedalam tabel, yang kita buat berikutnya adalah membuat input text pencarian yang ada diatas tabel berhasil digunakan dan menampilkan hasil pencariannya di cari.php. Yang dilakukan pertama adalah mengatur metode pengiriman data yang akan digunakan dan url tujuan pengiriman data, untuk itu perhatikan <form>, dan penambahan name pada 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, dengan memasukan kata didalam formnya kemudian klik tombol cari. Untuk test disini saya mengetikan keyword yussan. Jika halamannya telah berubah, dan urlnya seperti pada gambar dibawah maka siap untuk dilanjutkan kode berikutnya.
  • 12. Yang diperlukan untuk membuat pencarian di index.php sudah selesai, kini giliran beralih kehalaman cari.php untuk menampilkan datanya. Seperti pada halaman index.php, tambahkan fungsi untuk koneksi dengan database di bagian paling atas. Dibawahnya <h1>CARI ANGGOTA</h1><p> kita buat query untuk menampilkan 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 data berada, untuk indeksnya diisi dengan name dari input yang telah kita buat di form html.
  • 13. INSERT DATA Yang diperlukan dalam insert data adalah, form untuk tempat isi data dan file pemroses data, untuk itu sebelumnya kita buat terlebih dahulu file proses.php dalam folder yang sama dengan index.php untuk meletakan proses-proses yang diperlukan untuk latihan kali 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. <?php require_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
  • 14. index.php Dibagian atas cari anggota, kita buat form baru lagi untuk melakukan penambahan anggota. <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 dari form bisa terkirim ke database. Didalam case 'add' sampai break; silahkan tambahkan baris kode dibawah ini. $nama = $_POST['nama']; $umur = $_POST['umur'];
  • 16. EDIT DATA Langkah berikutnya yang akan kita lakukan adalah edit data, dalam kasus ini penulis buat ada 2 kondisi saat edit data, kondisi pertama, ketika proses menuju form edit data, dan kondisi 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 halaman index.php maka akan masuk kehalaman edit.php dan siap untuk edit data. Masuk ke index.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 halaman tersebut dengan get method. Urusan dihalaman index.php sudah berakhir, kini kita beralih kehalaman edit.php Seperti biasa masuk fungsi koneksi kedalam edit.php, selanjutnya kita buat query untuk menampilkan datanya dari database, karena disini kita hanya menampilkan satu baris data 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>
  • 17. <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 datanya kedalam 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 hasil edit kedalam database. Dalam case 'edit' sampai break; silahkan masukan kode dibawah ini untuk proses edit data di database. $id = $_POST['id'];
  • 19. DELETE DATA Bab terakhir hapus data, hati-hati jangan sampai salah hapus data, tidak banyak langkah yang 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>"); }