Dibawah ini merupakan tutorial membuat CRUD mySQL dengan PHP. Memasukkan data dengan melalui form, menampilkan data ke halaman web, mengubah data dari form web, menghapus data dari form web itu disebut dengan istilah CRUD.
Step 1 – MEMPERSIAPKAN DATABASE DAN TABEL
Pertama anda perlu mempersiapkan dulu database dan tabel yang akan digunakan sebagai sarana praktikum kali ini. Pada contoh ini, kita akan membuat sebuah database dan sebuah tabel.
Jalankan mySQL anda, lalu tuliskan sintak SQL berikut untuk membuat database dengan nama MYDB.
Create database MYDB;
Aktifkan database MYDB dengan menuliskan perintah berikut:
Use MYDB;
Tuliskan sintaks SQL berikut untuk membuat tabel KARYAWAN
Create table KARYAWAN ( nip char(8) not null primary key, nama varchar(200) not null, alamat varchar(200), nohp varchar(200) );
*KETERANGAN: Anda telah memiliki sebuah database dan tabel. Database dan tabel tersebut akan digunakan sebagai contoh pada step selanjutnya.
Step 2 – MEMBANGUN KONEKSI ANTARA PHP DAN MYSQL
Pada saat bekerja dengan server MySQL didalam PHP Anda harus menggunakan tahap-tahap berikut.
- Buka koneksi ke server database.
- Bekerja dengan data di dalam server database.
- Tutup koneksi.
Sintaks untuk membuat koneksi di PHP adalah seperti berikut:
<?php $dbname = "MYDB"; $host = "localhost"; $username = "root"; $password = ""; $conn = mysqli_connect($host, $username, $password, $dbname); if (mysqli_connect_errno()) { echo "Koneksi Gagal"; } ?>
*KETERANGAN: Simpan sintaks tersebut dengan nama file koneksi.php. Dengan sintaks diatas anda sudah dapat mengikuti step selanjutnya. Jika ada error maka koneksi tersebut jika dijalankan akan gagal dan anda harus mencari kesalahan yang telah terjadi.
Step 3 – MEMASUKKAN DATA MELALUI FORM WEB
Step selanjutnya kita membuat form untuk memasukkan sebuah data yang akan dimasukkan ke dalam tabel database.
<!DOCTYPE html> <html> <head> <title>Memasukkan Data</title> </head> <body> <form action="do_insert.php" method="post"> <table> <tr> <td>Nip</td> <td><input type="textfield" name="nip"></td> </tr> <tr> <td>Nama</td> <td><input type="textfield" name="nama"></td> </tr> <tr> <td>Alamat</td> <td><input type="textfield" name="alamat"></td> </tr> <tr> <td>No. HP</td> <td><input type="textfield" name="nohp"></td> </tr> <tr> <td> </td> <td><input type="submit" name="btnSubmit" value="Simpan"></td> </tr> </table> </form> </body> </html>
Simpan sintaks tersebut dengan nama file insert.php. Selanjutnya kita membuat sintaks untuk memproses agar data yang kita isi di form tersebut bisa masuk ke dalam tabel database.
<?php if (isset($_POST['btnSubmit'])) { $nip = $_POST['nip']; $nama = $_POST['nama']; $alamat = $_POST['alamat']; $nohp = $_POST['nohp']; require 'koneksi.php'; $sql = "insert into KARYAWAN(nip, nama, alamat, nohp) values('$nip','$nama','$alamat','$nohp')"; mysqli_query($conn, $sql); $num = mysqli_affected_rows($conn); if ($num > 0) { ?> <h2>Berhasil Disimpan</h2> <?php } else { echo "<h2> Gagal Disimpan </h2>"; } } ?>
Simpan dengan nama file do_insert.php.
*KETERANGAN: Jika insert telah berhasil maka data yang anda masukkan sudah masuk ke dalam database. Jika terjadi error maka anda harus mencari kesalahan tersebut karena jika typo sedikit maka sintaks akan error.
Step 4 – MENAMPILKAN DATA KE HALAMAN WEB
Kali ini kita akan membuat sintaks menampilkan data ke halaman web.
<!DOCTYPE html> <html> <head> <title>Menampilkan Data</title> </head> <body> <?php require 'koneksi.php'; $sql = "select * from KARYAWAN order by nip"; $result = mysqli_query($conn, $sql); if ($result) { ?> <table border="1"> <tr> <th>Nip</th> <th>Nama</th> <th>Alamat</th> <th>No. HP</th> </tr> <?php while ($row = mysqli_fetch_row($result)) { ?> <tr><?php $nip = $row[0]; $nama = $row[1]; $alamat = $row[2]; $nohp = $row[3]; ?> <td><?php echo $nip; ?></td> <td><?php echo $nama; ?></td> <td><?php echo $alamat; ?></td> <td><?php echo $nohp; ?></td> </tr> <?php } ?> </table> <?php } ?> </body> </html>
*KETERANGAN: Simpan dengan nama file showdata.php. Sintaks tersebut akan berhasil jika penulisan sintaks anda benar dan sesuai dengan nama database dan tabel yang anda buat.
Step 5 – MENGUBAH DATA DARI FORM
Dalam memasukkan data mungkin anda mengalami kesalahan dalam memasukkan data atau data karyawan sudah berubah maka diperlukan UPDATE.
Kita ubah tampilan showdata.php.
<!DOCTYPE html> <html> <head> <title>Menampilkan Data</title> </head> <body> <?php require 'koneksi.php'; $sql = "select * from KARYAWAN order by nip"; $result = mysqli_query($conn, $sql); if ($result) { ?> <table border="1"> <tr> <th>Nip</th> <th>Nama</th> <th>Alamat</th> <th>No. HP</th> <th> </th> </tr> <?php while ($row = mysqli_fetch_row($result)) { ?> <tr><?php $nip = $row[0]; $nama = $row[1]; $alamat = $row[2]; $nohp = $row[3]; ?> <td><?php echo $nip; ?></td> <td><?php echo $nama; ?></td> <td><?php echo $alamat; ?></td> <td><?php echo $nohp; ?></td> <td><a href="update.php?nip=<?php echo $nip; ?>">Edit</a></td> </tr> <?php } ?> </table> <?php } ?> </body> </html>
Lalu kita buat file baru. File dengan nama update.php.
<!DOCTYPE html> <html> <head> <title>Form Update</title> </head> <body> <?php require 'koneksi.php'; $nip = $_GET['nip']; $sql = "select nama, alamat, nohp from karyawan where nip = '$nip'"; $result = mysqli_query($conn, $sql); if ($result) { $row = mysqli_fetch_array($result); } ?> <form action="do_update.php" method="post"> <table> <tr> <td>Nip :</td> <td><?php echo $nip; ?></td> <input type="hidden" name="nip" value="<?php echo $nip; ?>"> </tr> <tr> <td>Nama :</td> <td><input type="textfield" name="nama" value="<?php echo $row[0]; ?>"></td> </tr> <tr> <td>Alamat :</td> <td><input type="textfield" name="alamat" value="<?php echo $row[1]; ?>"></td> </tr> <tr> <td>No. HP :</td> <td><input type="textfield" name="nohp" value="<?php echo $row[2]; ?>"></td> </tr> <tr> <td> </td> <td><input type="submit" name="btnSubmit" value="simpan"></td> </tr> </table> </form> </body> </html>
Setelah itu tuliskan sintaks berikut dan simpan dengan nama file do_update.php untuk memproses mengubah data yang sudah ada.
<?php if (isset($_POST['btnSubmit'])) { $nip = $_POST['nip']; $nama = $_POST['nama']; $alamat = $_POST['alamat']; $nohp = $_POST['nohp']; require 'koneksi.php'; $sql = "update karyawan set nama = '$nama', alamat = '$alamat', nohp = '$nohp' where nip = '$nip'"; mysqli_query($conn, $sql); $num = mysqli_affected_rows($conn); if ($num > 0) { ?> <h2>Berhasil Di Update</h2> <a href="showdata.php">Lihat Perubahan</a> <?php } else { echo "Gagal Update"; } } ?>
*KETERANGAN: Seperti itulah cara untuk mengubah data dari tabel database.
Step 6 – MENGHAPUS DATA DARI FORM
Step terakhir kita membuat proses sintaks untuk menghapus agar data yang sama dapat dihapus atau ada data yang sudah diperlukan dapat dihapus.
Kita ubah lagi tampilan showdata.php
<!DOCTYPE html> <html> <head> <title>Menampilkan Data</title> </head> <body> <?php require 'koneksi.php'; $sql = "select * from KARYAWAN order by nip"; $result = mysqli_query($conn, $sql); if ($result) { ?> <table border="1"> <tr> <th>Nip</th> <th>Nama</th> <th>Alamat</th> <th>No. HP</th> <th> </th> <th> </th> </tr> <?php while ($row = mysqli_fetch_row($result)) { ?> <tr><?php $nip = $row[0]; $nama = $row[1]; $alamat = $row[2]; $nohp = $row[3]; ?> <td><?php echo $nip; ?></td> <td><?php echo $nama; ?></td> <td><?php echo $alamat; ?></td> <td><?php echo $nohp; ?></td> <td><a href="update.php?nip=<?php echo $nip; ?>">Edit</a></td> <td><a href="delete.php?nip=<?php echo $nip; ?>">Delete</a></td> </tr> <?php } ?> </table> <?php } ?> </body> </html>
Lalu kita buat file baru. File dengan nama delete.php untuk memproses hapus.
<?php $nip = $_GET['nip']; require 'koneksi.php'; $sql = "delete from karyawan where nip = '$nip'"; mysqli_query($conn, $sql); $num = mysqli_affected_rows($conn); if ($num > 0) { header('location: showdata.php'); } ?>
*KETERANGAN: Untuk menghapus data anda hanya perlu menekan tombol delete.
Nah sekarang anda sudah berhasil membuat CRUD dengan PHP. Selamat belajar.
Terima Kasih telah membaca.
***PIU***