CRUD Sederhana dengan PHP dan MySQL. Seperti judulnya yaitu Membuat Aplikasi CRUD (Create, Read, Update, Delete) Sederhana dengan PHP dan MySQL. Jadi kita akan mengulas sedikit tentang bagaimana cara Create/insert data ke database, Read/Select/Menampilkan data dari database, Update/edit data dari database, dan Delete/hapus data dari database dengan menggunakan bahasa pemrograman PHP dan database MySQL.
Berikut file-file yang akan kita buat :
Nah Sekarang kita bahas satu persatu
1. Buat Database di MySql
pertama kita harus buat terlebih dahulu database di localhost/phpmyadmin, agar sama kita gunakan saja test sebagai nama databasenya.
Jika database sudah dibuat, maka kita buat tabel didalam database terse membut dengan script sql berikut:
CREATE TABLE tb_pelanggan (
no_pelanggan varchar(10),
nama varchar(100) NOT NULL,
PRIMARY KEY (no_pelanggan)
);
dengan script tersebut maka anda akan mendapatkan tabel dengan nama tb_pelanggan dengan field no_pelanggan dan nama dengan no_pelanggan sebagai primary key.
2. Koneksi Database
Tahap berikutnya adalah melakukan koneksi database, kita gunakan koneksi.php sebagai file untuk koneksi databasenya.
Buatlah file bernama koneksi.php dengan isi file seperti dibawah ini
<?php
$host = "localhost";
$user = "root";
$pass = "";
$name = "test";
$koneksi = mysql_connect($host, $user, $pass) or die("Koneksi ke database gagal!");
mysql_select_db($name, $koneksi) or die("Tidak ada database yang dipilih!");
?>
jangan lupa untuk menyesuaikan detail koneksinya, jika menggunakan password silakan diganti.
3. Menampilkan Data
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> <head> <title>Simple CRUD</title> </head> <body> <h2>Simple CRUD</h2> <p><a href="index.php">Beranda</a> / <a href="tambah.php">Tambah Data</a></p> <h3>Data Pelanggan</h3> <table cellpadding="5" cellspacing="0" border="1"> <tr bgcolor="#CCCCCC"> <th>No</th> <th>No Pelanggan</th> <th>Nama Pelanggan</th> <th>Tindakan</th> </tr> <?php //iclude file koneksi ke database include('koneksi.php'); //query ke database dg SELECT table tb_pelanggan diurutkan berdasarkan no_pelanggan paling kecil $query = mysql_query("SELECT * FROM tb_pelanggan ORDER BY no_pelanggan ASC") or die(mysql_error()); //cek, apakakah hasil query di atas mendapatkan hasil atau tidak (data kosong atau tidak) if(mysql_num_rows($query) == 0){ //ini artinya jika data hasil query di atas kosong //jika data kosong, maka akan menampilkan row kosong echo '<tr><td colspan="6">Tidak ada data!</td></tr>'; }else{ //else ini artinya jika data hasil query ada (data diu database tidak kosong) //jika data tidak kosong, maka akan melakukan perulangan while $no = 1; //membuat variabel $no untuk membuat nomor urut while($data = mysql_fetch_assoc($query)){ //perulangan while dg membuat variabel $data yang akan mengambil data di database //menampilkan row dengan data di database echo '<tr>'; echo '<td>'.$no.'</td>'; //menampilkan nomor urut echo '<td>'.$data['no_pelanggan'].'</td>'; //menampilkan data no_pelanggan dari database echo '<td>'.$data['nama'].'</td>'; //menampilkan data nama dari database echo '<td><a href="edit.php?id='.$data['no_pelanggan'].'">Edit</a> / <a href="hapus.php?id='.$data['no_pelanggan'].'"
onclick="return confirm(\'Yakin?\')">Hapus</a></td>'; //menampilkan link edit dan hapus dimana tiap link terdapat GET id -> ?id=no_pelanggan echo '</tr>'; $no++; //menambah jumlah nomor urut setiap row } } ?> </table> </body> </html>
onclick="return confirm(\'Yakin?\')">Hapus</a></td>'; //menampilkan link edit dan hapus dimana tiap link terdapat GET id -> ?id=no_pelanggan echo '</tr>'; $no++; //menambah jumlah nomor urut setiap row } } ?> </table> </body> </html>
silakan disimpan, untuk penjelasannya ad ditiap baris kode.
Karena belum ada data dalam database maka akan terlihat seperti gambar dibawah ini
4. Memasukan Data
Langkah selanjutnya adalah memasukan data kedalam database.
Buatlah file dengan nama tambah.php dengan isi file seperti berikut:
<!DOCTYPE html> <html> <head> <title>Simple CRUD</title> </head> <body> <h2>Simple CRUD</h2> <p><a href="index.php">Beranda</a> / <a href="tambah.php">Tambah Data</a></p> <h3>Tambah Data Pelanggan</h3> <form action="tambah_proses.php" method="post"> <table cellpadding="3" cellspacing="0"> <tr> <td>No Pelanggan</td> <td>:</td> <td><input type="text" name="no_pelanggan" required></td> </tr> <tr> <td>Nama</td> <td>:</td> <td><input type="text" name="nama" size="30" required></td> </tr> <tr> <td> </td> <td></td> <td><input type="submit" name="tambah" value="Tambah"></td> </tr> </table> </form> </body> </html>
Simpan dan akan terlihat seperti dibawah:
Nah ketika form tersebut di isi, dan tombol Tambah di klik, maka akan menjalankan file tambah-proses.php.
Jadi selanjutnya buat file baru dengan nama tambah-proses.php dan isinya adalah script di bawah ini:
<?php //mulai proses tambah data //cek dahulu, jika tombol tambah di klik if(isset($_POST['tambah'])){ //inlcude atau memasukkan file koneksi ke database include('koneksi.php'); //jika tombol tambah benar di klik maka lanjut prosesnya $no_pelanggan = $_POST['no_pelanggan']; //membuat variabel $no_pelanggan dan datanya dari inputan no_pelanggan $nama = $_POST['nama']; //membuat variabel $nama dan datanya dari inputan nama //melakukan query dengan perintah INSERT INTO untuk memasukkan data ke database $input = mysql_query("INSERT INTO tb_pelanggan VALUES('$no_pelanggan', '$nama')") or die(mysql_error()); //jika query input sukses if($input){ echo 'Data berhasil di tambahkan! '; //Pesan jika proses tambah sukses echo '<a href="index.php">Ke Beranda</a>'; //membuat Link untuk kembali ke halaman Beranda }else{ echo 'Gagal menambahkan data! '; //Pesan jika proses tambah gagal echo '<a href="tambah.php">Back</a>'; //membuat Link untuk kembali ke halaman tambah } }else{ //jika tidak terdeteksi tombol tambah di klik //redirect atau dikembalikan ke halaman tambah echo '<script>window.history.back()</script>'; } ?>
5. Update Data
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.Dimana untuk Link edit yang di klik Anda akan mendapatkan Link seperti <a href=”edit.php?id=12″>Edit</a> dimana id ini adalah nilai dari no_pelanggan. Jika id tersebut adalah 12, maka akan menampilkan data pelanggan dimana no_pelanggan=12.
Oke, silahkan buat file edit.php dan paste script di bawah ini:
<!DOCTYPE html> <html> <head> <title>Simple CRUD by NizarBlog</title> </head> <body> <h2>Simple CRUD</h2> <p><a href="index.php">Beranda</a> / <a href="tambah.php">Tambah Data</a></p> <h3>Edit Data Pelanggan</h3> <?php //proses mengambil data ke database untuk ditampilkan di form edit berdasarkan no_pelanggan yg didapatkan dari
GET id -> edit.php?id=no_pelanggan //include atau memasukkan file koneksi ke database include('koneksi.php'); //membuat variabel $id yg nilainya adalah dari URL GET id -> edit.php?id=no_pelanggan $id = $_GET['id']; //melakukan query ke database dg SELECT table tb_pelanggan dengan kondisi WHERE siswa_id = '$id' $show = mysql_query("SELECT * FROM tb_pelanggan WHERE no_pelanggan='$id'"); //cek apakah data dari hasil query ada atau tidak if(mysql_num_rows($show) == 0){ //jika tidak ada data yg sesuai maka akan langsung di arahkan ke halaman depan atau beranda -> index.php echo '<script>window.history.back()</script>'; }else{ //jika data ditemukan, maka membuat variabel $data $data = mysql_fetch_assoc($show); //mengambil data ke database yang nantinya akan ditampilkan di form edit di bawah } ?> <form action="edit_proses.php" method="post"> <input type="hidden" name="id" value="<?php echo $id; ?>"> <!-- membuat inputan hidden dan nilainya adalah no_pelanggan--> <table cellpadding="3" cellspacing="0"> <tr> <td>No Pelanggan</td> <td>:</td> <td><input type="text" name="no_pelanggan" value="<?php echo $data['no_pelanggan']; ?>" required></td> <!-- value diambil dari hasil query --> </tr> <tr> <td>Nama</td> <td>:</td> <td><input type="text" name="nama" size="30" value="<?php echo $data['nama']; ?>" required></td> <!-- value diambil dari hasil query --> </tr> <tr> <td> </td> <td></td> <td><input type="submit" name="simpan" value="Simpan"></td> </tr> </table> </form> </body> </html>
GET id -> edit.php?id=no_pelanggan //include atau memasukkan file koneksi ke database include('koneksi.php'); //membuat variabel $id yg nilainya adalah dari URL GET id -> edit.php?id=no_pelanggan $id = $_GET['id']; //melakukan query ke database dg SELECT table tb_pelanggan dengan kondisi WHERE siswa_id = '$id' $show = mysql_query("SELECT * FROM tb_pelanggan WHERE no_pelanggan='$id'"); //cek apakah data dari hasil query ada atau tidak if(mysql_num_rows($show) == 0){ //jika tidak ada data yg sesuai maka akan langsung di arahkan ke halaman depan atau beranda -> index.php echo '<script>window.history.back()</script>'; }else{ //jika data ditemukan, maka membuat variabel $data $data = mysql_fetch_assoc($show); //mengambil data ke database yang nantinya akan ditampilkan di form edit di bawah } ?> <form action="edit_proses.php" method="post"> <input type="hidden" name="id" value="<?php echo $id; ?>"> <!-- membuat inputan hidden dan nilainya adalah no_pelanggan--> <table cellpadding="3" cellspacing="0"> <tr> <td>No Pelanggan</td> <td>:</td> <td><input type="text" name="no_pelanggan" value="<?php echo $data['no_pelanggan']; ?>" required></td> <!-- value diambil dari hasil query --> </tr> <tr> <td>Nama</td> <td>:</td> <td><input type="text" name="nama" size="30" value="<?php echo $data['nama']; ?>" required></td> <!-- value diambil dari hasil query --> </tr> <tr> <td> </td> <td></td> <td><input type="submit" name="simpan" value="Simpan"></td> </tr> </table> </form> </body> </html>
Jika sudah silahkan simpan, dan hasil tampilan dari script di atas seperti gambar di bawah ini:
Nah, form edit diatas jika di klik tombol Simpan, maka akan menjalankan file edit-proses.php, dimana file ini adalah proses untuk melakukan update data ke database.
Buat file edit_proses.php dan paste script di bawah ini:
<!DOCTYPE html> <html> <head> <title>Simple CRUD by NizarBlog</title> </head> <body> <h2>Simple CRUD</h2> <p><a href="index.php">Beranda</a> / <a href="tambah.php">Tambah Data</a></p> <h3>Edit Data Pelanggan</h3> <?php //proses mengambil data ke database untuk ditampilkan di form edit berdasarkan no_pelanggan yg didapatkan dari GET id -> edit.php?id=no_pelanggan //include atau memasukkan file koneksi ke database include('koneksi.php'); //membuat variabel $id yg nilainya adalah dari URL GET id -> edit.php?id=no_pelanggan $id = $_GET['id']; //melakukan query ke database dg SELECT table tb_pelanggan dengan kondisi WHERE siswa_id = '$id' $show = mysql_query("SELECT * FROM tb_pelanggan WHERE no_pelanggan='$id'"); //cek apakah data dari hasil query ada atau tidak if(mysql_num_rows($show) == 0){ //jika tidak ada data yg sesuai maka akan langsung di arahkan ke halaman depan atau beranda -> index.php echo '<script>window.history.back()</script>'; }else{ //jika data ditemukan, maka membuat variabel $data $data = mysql_fetch_assoc($show); //mengambil data ke database yang nantinya akan ditampilkan di form edit di bawah } ?> <form action="edit_proses.php" method="post"> <input type="hidden" name="id" value="<?php echo $id; ?>"> <!-- membuat inputan hidden dan nilainya adalah no_pelanggan--> <table cellpadding="3" cellspacing="0"> <tr> <td>No Pelanggan</td> <td>:</td> <td><input type="text" name="no_pelanggan" value="<?php echo $data['no_pelanggan']; ?>" required></td> <!-- value diambil dari hasil query --> </tr> <tr> <td>Nama</td> <td>:</td> <td><input type="text" name="nama" size="30" value="<?php echo $data['nama']; ?>" required></td> <!-- value diambil dari hasil query --> </tr> <tr> <td> </td> <td></td> <td><input type="submit" name="simpan" value="Simpan"></td> </tr> </table> </form> </body> </html>
Silahkan simpan.
6. Hapus Data
Tahap ke enam ini adalah yang terakhir, yaitu melakukan perintah Delete untuk menghapus data dari database.
file yang akan kita buat adalah hapus.php, dan isi scriptnya seperti di bawah ini:
<?php //memulai proses hapus data //cek dahulu, apakah benar URL sudah ada GET id -> hapus.php?id=no_pelanggan if(isset($_GET['id'])){ //inlcude atau memasukkan file koneksi ke database include('koneksi.php'); //membuat variabel $id yg bernilai dari URL GET id -> hapus.php?id=no_pelanggan $id = $_GET['id']; //cek ke database apakah ada data siswa dengan no_pelanggan='$id' $cek = mysql_query("SELECT no_pelanggan FROM tb_pelanggan WHERE no_pelanggan='$id'") or die(mysql_error()); //jika data siswa tidak ada if(mysql_num_rows($cek) == 0){ //jika data tidak ada, maka redirect atau dikembalikan ke halaman beranda echo '<script>window.history.back()</script>'; }else{ //jika data ada di database, maka melakukan query DELETE table siswa dengan kondisi WHERE siswa_id='$id' $del = mysql_query("DELETE FROM tb_pelanggan WHERE no_pelanggan='$id'"); //jika query DELETE berhasil if($del){ echo 'Data siswa berhasil di hapus! '; //Pesan jika proses hapus berhasil echo '<a href="index.php">Kembali</a>'; //membuat Link untuk kembali ke halaman beranda }else{ echo 'Gagal menghapus data! '; //Pesan jika proses hapus gagal echo '<a href="index.php">Kembali</a>'; //membuat Link untuk kembali ke halaman beranda } } }else{ //redirect atau dikembalikan ke halaman beranda echo '<script>window.history.back()</script>'; } ?>
Silahkan simpan.
Demikian ulasan tentang CRUD dengan PHP dan MySql, silakan mencoba.
http://tutorialweb.net/membuat-aplikasi-crud-sederhana-dengan-php-dan-mysql/
kalo untuk men design tampilannya bagusnya pakai bootstrap atau foundation gan??
ReplyDelete