Hallo teman teman apa kabar ? mudah mudahan selalu
diiberikkan kesehatan ya. Kali ini saya
akan memberkan tutorial membuat crud dengan php dan menggunakan database mysql
Tutorial ini saya buat sangat mudah agar Anda yang pemula
bisa mempelajarinya dengan mudah. Karena ini hanya basicnya saja, jadi tidak
ada yang namanya kemanan dalam query ke database, saya bua sangat sederhana
agar mudah dipelajari dengan mudah.
Oke, sebelumnya file-file yang akan kita buat adalah seperti
tambah pada gambar di bawah ini:
Nah, sudah tau kan file apa saja yang nantinya kita buat.
Step #1 Database
Tahap pertama adalah membuat database dahulu di phpMyAdmin,
saya umpamakan Anda sudah membuat sebuah database dengan nama tutorialweb.
Jika database sudah dibuat, sekarang Dumping script SQL di
bawah ini:
CREATE TABLE
`mahasiswa` (
`id` int(11) NOT NULL,
`nim` varchar(20) NOT NULL,
`nama` varchar(30) NOT NULL,
`tempat_lahir` varchar(30) NOT NULL,
`tanggal_lahir` date NOT NULL,
`jenis_kelamin` enum('Laki-laki','Perempuan')
NOT NULL,
`agama`
enum('Islam','Kristen','Katholik','Hindu','Budha','Konghuchu') NOT NULL,
`alamat` varchar(100) NOT NULL,
`no_telepon` varchar(12) NOT NULL
)
ENGINE=InnoDB DEFAULT CHARSET=latin1;
Step #2 Koneksi ke Database
Tahap selanjutnya adalah melakukan koneksi ke database, file
untuk koneksi ke database adalah library.php.
Silahkan buat file baru dan beri nama library.php kemudian
isi dari file ini seperti di bawah ini:
<?php
class Library{
public function
__construct(){
$this->db
= new PDO('mysql:host=localhost;dbname=crud_oop','root','');
}
public function
tambahMhs($nim, $nama, $tempat_lahir, $tanggal_lahir, $jenis_kelamin, $agama,
$alamat, $no_telepon){
$sql
= "INSERT INTO mahasiswa (nim, nama, tempat_lahir, tanggal_lahir,
jenis_kelamin, agama, alamat, no_telepon) VALUES('$nim', '$nama',
'$tempat_lahir', '$tanggal_lahir', '$jenis_kelamin', '$agama', '$alamat',
'$no_telepon')";
$query
= $this->db->query($sql);
if(!$query){
return
"Failed";
}
else{
return
"Success";
}
}
public function
editMhs($id){
$sql
= "SELECT * FROM mahasiswa where id='$id'";
$query
= $this->db->query($sql);
return
$query;
}
public function
updateMhs($nim, $nama, $tempat_lahir, $tanggal_lahir, $jenis_kelamin, $agama,
$alamat, $no_telepon){
$sql
= "UPDATE mahasiswa SET nim='$nim', nama='$nama',
tempat_lahir='$tempat_lahir', tanggal_lahir='$tanggal_lahir',
jenis_kelamin='$jenis_kelamin', agama='$agama', alamat='$alamat',
no_telepon='$no_telepon' WHERE nim='$nim'";
$query
= $this->db->query($sql);
if(!$query){
return
"Failed";
}
else{
return
"Success";
}
}
public function
showmahasiswa(){
$sql
= "SELECT * FROM mahasiswa order by id desc";
$query
= $this->db->query($sql);
return
$query;
}
public function
deleteMhs($id){
$sql
= "DELETE FROM mahasiswa WHERE id='$id'";
$query
= $this->db->query($sql);
if(!$query){
return
"Failed";
}
else{
return
"Success";
}
}
}
?>
Step #3 Memasukkan Data (Create/Insert)
Tahap ke empat adalah meng-insertkan data ke database dengan
perintah INSERT INTO.
Pertama tertu saja kita buat Form utuk memasukkan datanya.
Form ini akan kita simpan dalam file index.php dengan
script seperti di bawah ini:
<!DOCTYPE
html>
<html
lang="en">
<head>
<meta
charset="UTF-8">
<title>CRUD
PDO</title>
<!-- Latest
compiled and minified CSS -->
<link
rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
crossorigin="anonymous">
<!-- Latest
compiled and minified JavaScript -->
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
crossorigin="anonymous"></script>
</head>
<body>
<div class="container">
<h2>Tambah
Mahasiswa Baru</h2>
<form
action="index.php" method="POST" class="form-group
row">
NIM
: <input type="text" name="nim"
required="required" class="form-control"
placeholder="Masukan NIM anda"><br/>
Nama
: <input type="text" name="nama"
required="required" class="form-control"
placeholder="Masukan Nama Anda"><br/>
Tempat
Lahir : <input type="text" name="tempat_lahir"
class="form-control" placeholder="Masukan Tempat Lahir
Anda"><br/>
Tanggal
Lahir : <input type="text" name="tanggal_lahir"
class="form-control" placeholder="Masukan Tanggal Lahhir Anda.
Dengan format YYYY-MM-DD, contoh : 1945-08-17"><br/>
Jenis
Kelamin : <select name="jenis_kelamin"
class="form-control">
<option
value="">--Pilih Jenis Kelamin--</option>
<option
value="Laki-laki">Laki-laki</option>
<option
value="Perempuan">Perempuan</option>
</select>
<br />
Agama
: <select
name="agama" class="form-control">
<option
value="">--Pilih Agama Anda--</option>
<option
value="Islam">Islam</option>
<option
value="Kristen">Kristen</option>
<option
value="Katolik">Katolik</option>
<option
value="Hindu">Hindu</option>
<option
value="Budha">Budha</option>
<option
value="Konghuchu">Konghuchu</option>
<option
value="Lainnya">Lainnya</option>
</select>
<br />
No.
Telepon : <input type="text" name="no_telepon"
class="form-control" placeholder="Masukan No. Telepon
Anda"><br/>
Alamat
: <textarea name="alamat" class="form-control"
placeholder="Masukan Alamat Lengkap
Anda"></textarea><br/>
<input
type="submit" name="tambahMhs" value="Tambah"
class="btn btn-success">
<input
type="reset" value="Batal" class="btn
btn-warning">
</form>
</div>
</body>
</html>
<?php
require('library.php');
if(isset($_POST['tambahMhs'])){
$nim =
$_POST['nim'];
$nama =
$_POST['nama'];
$tempat_lahir=$_POST['tempat_lahir'];
$tanggal_lahir=$_POST['tanggal_lahir'];
$jenis_kelamin=$_POST['jenis_kelamin'];
$agama=$_POST['agama'];
$alamat=$_POST['alamat'];
$no_telepon=$_POST['no_telepon'];
$Lib = new
Library();
$add =
$Lib->tambahMhs($nim, $nama, $tempat_lahir, $tanggal_lahir, $jenis_kelamin,
$agama, $alamat, $no_telepon);
if($add ==
"Success"){
header('Location:
List.php');
}
}
?>
Step #4 Menampilkan Data (READ/SELECT)
Tahap ketiga adalah menampilkan data dari database atau jika
dalam singkatan CRUD maka kali ini adalah R -> Read.
Untuk menampilkan data, kita akan membuat file dengan nama index.php.
Dan isi dari file index.php adalah script di bawah ini:
<!DOCTYPE
html>
<html
lang="en">
<head>
<meta
charset="UTF-8">
<title>List
Mahasiswa</title>
<!-- Latest
compiled and minified CSS -->
<link
rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
crossorigin="anonymous">
<!-- Latest
compiled and minified JavaScript -->
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
crossorigin="anonymous"></script>
</head>
<body>
<div
class="container">
<h2>Daftar
Nama Mahasiswa</h2>
<table
class="table">
<tr>
<td>NIM</td>
<td>Nama</td>
<td>Jenis
Kelamin</td>
<td>Alamat</td>
<td>Edit</td>
<td>Delete</td>
</tr>
<?php
require("library.php");
$Lib
= new Library();
$show
= $Lib->showmahasiswa();
while($data
= $show->fetch(PDO::FETCH_OBJ)){
echo
"
<tr>
<td>$data->nim</td>
<td>$data->nama</td>
<td>$data->jenis_kelamin</td>
<td>$data->alamat</td>
<td><a
class='btn btn-info' href='edit.php?id=$data->id'>Edit</td>
<td><a
class='btn btn-danger'
href='list.php?deleteMhs=$data->id'>Delete</a></td>
</tr>";
};
?>
</table>
<a
href="index.php" class="btn btn-success">Tambah
Mahasiswa Baru</a>
</div>
</body>
</html>
<?php
if(isset($_GET['deleteMhs'])){
$del =
$Lib->deleteMhs($_GET['deleteMhs']);
if($del ==
"Success"){
header('Location:
List.php');
}
}
?>
Step #5 Update Data (Update/Edit)
Tahap ini adalah untuk melakukan edit data pada database.
File yang akan kita buat adalah file edit.php.
Link untuk menuju halaman edit adalah pada file index.php dimana
disana pada tabel kolom Opsi ada Link edit dan hapus.
Berikut source codenya :
<?php
require('library.php');
if(isset($_GET['id'])){
$Lib = new Library();
$id = $Lib->editMhs($_GET['id']);
$edit = $id->fetch(PDO::FETCH_OBJ);
echo '
<!DOCTYPE
html>
<html
lang="en">
<head>
<meta
charset="UTF-8">
<title>Edit
Data Mahasiswa</title>
<link
rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
crossorigin="anonymous">
<!--
Latest compiled and minified JavaScript -->
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
crossorigin="anonymous"></script>
</head>
<body>
<div
class="container">
<h2>Ubah
Data Mahasiswa</h2>
<form
action="edit.php" method="POST" class="form-group
row">
NIM
: <input type="text" name="nim"
value="'.$edit->nim.'" required
class="form-control"><br>
Nama
: <input type="text" name="nama"
value="'.$edit->nama.'" required
class="form-control"><br>
Tempat
Lahir : <input type="text" name="tempat_lahir"
value="'.$edit->tempat_lahir.'" required
class="form-control"><br/>
Tanggal
Lahir : <input type="text" name="tanggal_lahir"
value="'.$edit->tanggal_lahir.'" required
class="form-control"><br/>
Jenis
Kelamin : <input type="text" name="jenis_kelamin"
value="'.$edit->jenis_kelamin.'" required
class="form-control"><br/>
Agama
: <input type="text" name="agama"
value="'.$edit->agama.'" required class="form-control"><br/>
No.
Telepon : <input type="text" name="no_telepon"
value="'.$edit->no_telepon.'" required
class="form-control"><br/>
Alamat
: <textarea name="alamat"
class="form-control">'.$edit->alamat.'</textarea><br/>
<input
type="submit" name="updateMhs" value="Update"
class="btn btn-info">
<input
type="reset" value="Batal" class="btn
btn-warning">
</form>
</div>
</body>
</html>
';
}
if(isset($_POST['updateMhs'])){
$nim
= $_POST['nim'];
$nama
= $_POST['nama'];
$tempat_lahir=$_POST['tempat_lahir'];
$tanggal_lahir=$_POST['tanggal_lahir'];
$jenis_kelamin=$_POST['jenis_kelamin'];
$agama=$_POST['agama'];
$alamat=$_POST['alamat'];
$no_telepon=$_POST['no_telepon'];
$Lib
= new Library();
$upd
= $Lib->updateMhs($nim, $nama, $tempat_lahir, $tanggal_lahir,
$jenis_kelamin, $agama, $alamat, $no_telepon);
if($upd
== "Success"){
header('Location:
List.php');
}
}
?>
Catatan : kesalahan terdapat pada soruce code library.php
pada bagian function editmhs, disana pertama tercantum SELECT * FROM
mahasiswa , source code sql itu hanya untuk menampilkan tabel mahasiswa
secara keseluruhan, kemudian yang benar adalah SELECT * FROM mahasiswa
where id='$id' , kode sql itu untuk menyeleksi tabel dengan catatan
id yang dipilih, atau hanya dengan id tertentu yang tampil. mengapa seperti ini
karena untuk menampilkan data ke form tentu harus sesuai id yang dipilih.
ksesalahan kedua terdapat pada list.php pada bagian class
button untuk edit, awalnya tercantum seperti ini <td><a
class='btn btn-info' href='edit.php?nim=$data->id'>Edit</td>pada
kode tersebut yang diseleksi adalah nim sedangkan yang diperlukan adalah id,
maka kodenya yang benar adalah seperti ini <td><a class='btn
btn-info' href='edit.php?id=$data->id'>Edit</td>
Berikut Source codenya, klik Download