Modul ini menjelaskan operasi CRUD (create, read, update, delete) menggunakan PHP dan MySQL. File-file yang dibutuhkan antara lain config.php, index.php, admin_view.php, admin_add_form.php, admin_edit_form.php, admin_add.php, dan admin_edit.php. Modul ini mendemonstrasikan penambahan, pengeditan, pencarian dan penghapusan data pengguna secara interaktif.
1. Operasi CRUD di PHP
dalam modul ini saya akan menjelaskan pengolahan menggunakan PHP dan mySQL. Isi dari modul
ini adalah berisi penjelasan tentangbagaimana data di olah. Dalam contoh berikut ini kita akan
mengolah data user yang bisa mengakses sistem
Pengolahan data berikut ini meliputi Tampil, cari, tambah, hapus dan edit. Hasil akhir tampilan
adalah sebagai berikut.
Sebagai contoh, kita mempunyai tabel admin di database korandb, berikut ini adalah structure
tabelnya
Beberapa file yang dibutuhkan adalah
1. index.php
2. admin_view.php
3. admin_add_from.php
4. admin_edit_form.php
5. admin_add.php
6. admin_edit.php
7. config.php
2. Config.php
config.php beisi file konfigurasi untuk melakukan koneksi ke database mysql
isi file config.php adalah sbb:
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password="root"; // Mysql password
$db_name="korandb"; // Database name
mysql_connect("$host", "$username", "$password")
or die("cannot connect".mysql_error());
mysql_select_db("$db_name")or die(mysql_error());
?>
Lihat parameter diatas, untuk melakukan koneksi ke mysql kita menggunakan code
mysql_connect("$host", "$username", "$password");
setelah koneksi berhasil dibuat baru kita memilih database yang akan kita pakai
mysql_connect("$host", "$username", "$password")
or die(mysql_error()) fungsinya untuk menghentikan eksekusi jika terjadi Error dan tampilkan
error ke layar
index.php
<?
if(!isset($_GET[pg]))$_GET[pg]='admin_view';
include $_GET[pg].".php";
?>
</div>
<!-- end #posts -->
Halaman index adalah halaman utama dari suatu website atau halaman backend. Namun dari kode
index.php, kode yang paling penting ada dibagian code diatas. Penjelasan sederhana dari kode
diatas adalah, jika parameter pg tidak ditemukan, maka tampilan halaman admin_view.php.
3. admin_view.php
Halaman ini mempunyai 3 fungsi sekaligus, yang pertama dipakai untuk menampilkan data,
mencari data dan menghapus data. Dihalaman ini pula terdapat icon untuk menambah data dan
mengedit data, bagian SQL untuk menentukan apakah data ditampilkan semua atau hanya data yang
sesuai hasil pencarian.
SQL untuk View dan mencari
if(isset($_POST['btnCari'])){
$cari=$_POST['cari'];
//ambil data dari table admin
$sql="SELECT * FROM admin where username like '%$cari%'";
}else{
$sql="SELECT * FROM admin";
}
Bagian untuk menampilkan data
//proses menampilkan data
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td><? echo $rows['id_admin']; ?></td>
<td><? echo $rows['username']; ?></td>
<td><? echo $rows['level']; ?></td>
<!-- menampilkan icon operasi edit, dan hapus-->
<td>
<a href="index.php?pg=admin_form_edit&id=<? echo $rows['id_admin']?>">
<img src="image/b_edit.png"></a>
<a href="index.php?pg=admin_view&act=3&id=<? echo $rows['id_admin']?>"
onclick="return askUser()";>
<img src="image/b_drop.png"></a>
</td>
Bagian untuk menghapus
Masih di halaman yang sama, bagian ini dipakai untuk menghapus data
case 3:{
$sql="delete from admin where id_admin='$id'";
mysql_query($sql) or die(mysql_error());
break;
Kode diatas berfungsi untuk menghapus baris dimana barisnya sesuai dengan ID dari parameter.
4. Tambah dan edit data.
Untuk menambah data, diperlukan dua file, yang pertama admin_add_Form.php dan
admin_add.php
tampilan tambah data adalah sbb:
kode form
<form id="form1" name="form1" method="post" action="admin_add.php">
<td>
<table border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td width="117">username</td>
<td width="14">:</td>
<td width="357"><input name="username" type="text" id="username" size="40"
/></td>
</tr>
<tr>
<td width="117">password</td>
<td width="14">:</td>
<td width="357"><input name="password1" type="password" id="password1"
size="40" /></td>
</tr>
<tr>
<td width="117">Retype password</td>
<td width="14">:</td>
<td width="357"><input name="password2" type="password" id="password2"
size="40" /></td>
</tr>
<tr>
<td width="117">level</td>
<td width="14">:</td>
<td width="357"><input name="level" type="radio" id="level" value="admin"
/>Admin
<input name="level" type="radio" id="level" value="wartawan"
checked='checked' />Wartawan
</td>
</tr>
Perhatikan baris yang bercetak tebal, action digunakan untuk memberi tahu script, siapa yang akan
mengolah data yagn dikirim. Sedangkan name menunjukan data data yang akan dikirim
5. admin_add.php
<?php
include('inc/config.php');
//data dari user
if(isset($_POST['submitUser'])){
$username=$_POST['username'];
$password1=$_POST['password1'];
$password2=$_POST['password2'];
$level =$_POST['level'];
if($password1!=$password2){
echo "input user gagal, password tidak sama";
exit();
}else{
$password=md5($password2);
$sql="INSERT INTO admin(username,password,level)
VALUES('$username', '$password','$level')";
$result=mysql_query($sql) or die(mysql_error());
//check if query successful
if($result){
header('location:index.php?pg=admin_view&status=0');
}else {
header('location:index.php?pg=admin_view&status=1');
}
mysql_close();
}
}
?>
Pertama data yang dikirim dari admin_add_Form diletakan divariable lokal, setelah itu isi variabel
baru diletakan di query SQL (Insert into....).
Proses input data ada dibaris
result=mysql_query($sql) or die(mysql_error());
Jika input data gagal, maka kembali kehalaman admin dan tampilkan status 1 yang artinya, proses
sebelumnya (input data) gagal.jika status =0 artinya input data berhasil .
Catatan penting disini adalah jangan lupa menyertakan file config.php
Proses Edit data.
Form edit data hampir sama dengan tambah, begitu juga dengan code admin_edit.php hampir sama
dengan admin_add.php, perbedaanya ada dibaris berikut
$sql=" update admin set
username='$username',password='$password',level='$level'
where id_admin='$id_admin'";
//echo $sql;
$result=mysql_query($sql) or die(mysql_error());