Pada kesempatan ini saya akan menjelaskan tentang manipulasi data pada
database yang paling umum yaitu CRUD dengan PHP Mysqli. CRUD sendiri
adalah singkatan dari Create, Read, Update, Delete.
- Create adalah memasukan data baru kedalam database
- Read adalah membaca dan menampilkan data dari database
- Update adalah mengubah data pada database
- Delete adalah menghapus data dari database
Buat sebuah database bernama mahasiswa dan pastekan perintah
sql ini.
CREATE TABLE `mhs` (
`nim` varchar(10) NOT NULL,
`nama` varchar(30) NOT NULL,
`tgllahir` date DEFAULT NULL,
`alamat` text,
`agama` varchar(15) NOT NULL,
PRIMARY KEY (`nim`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `mhs` VALUES ('0411500121', 'Muhammad Zen', '1965-08-01', 'Medan', 'Islam');
INSERT INTO `mhs` VALUES ('12345', 'Andi Purnama', '2019-05-14', 'Medan', 'Islam');
Berikut ini contoh sebuah menu barnama bahasiswa yang di dalamnya terdapat CRUD.
Buat sebuah file dengan nama
config.php.
<?php
$mysqli=mysqli_connect('localhost','root','','mahasiswa');
mysqli_select_db($mysqli,'mahasiswa') or die("database tidak
ditemukan");
?>
file diatas untuk membuat koneksi ke database dengan nama host username user
root password kosong dan database barnama mahasiswa.php untuk menampilkan data
dari database.
<!DOCTYPE html>
<html>
<head>
<title>Data
Mahasiswa</title>
</head>
<body>
<?php
include('config.php');
$hasil= mysqli_query($mysqli,"select * from mhs;");
?>
<a href="tambah_data_mahasiswa.php"><input type="button"
value="Tambah Data"></a>
<br>
<br>
<table border="1">
<tr>
<td>No</td><td>Nim</td><td>Nama</td><td>Tgl
Lahir</td><td>Alamat</td><td>Agama</td><td>Aksi</td>
</tr>
<?php
$no=1;
while ($row=
mysqli_fetch_array($hasil)) {
echo "<tr>
<td>$no</td><td>$row[nim]</td><td>$row[nama]</td><td>$row[tgllahir]</td><td>$row[alamat]</td><td>$row[agama]</td><td><a
href='edit_data_mahasiswa.php?nim=$row[nim]'>Edit</a>";?>
<a
href="aksi_hapus.php?nim=<?php echo $row[nim];?>" onclick="return
confirm('are you sure?')"> Delete </a></td>
<?php
echo
"</tr>";
$no++;
}
?>
</table>
</body>
</html>
|
Read Data |
Selanjutnya create yaitu menambahkan data baru kedalam database melalui
link tombol Tambah Data seperti gambar diatas. Buat file dengan nama
tambah_data_mahasiswa.php.
<!DOCTYPE html>
<html>
<head>
<title>
Tambah Data Mahasiswa</title>
</head>
<body>
<form action="aksi_tambah_data_mahasiswa.php" method="POST">
<table>
<caption>Tambah Data Mahasiswa</caption>
<tr>
<td>Nim
:</td><td><input type="text" name="nim"></td>
</tr>
<tr>
<td>Nama
:</td><td><input type="text" name="nama"></td>
</tr>
<tr>
<td>Tanggal Lahir
:</td><td><input type="date"
name="tgllahir"></td>
</tr>
<tr>
<td>Alamat
:</td><td><input type="text"
name="alamat"></td>
</tr>
<tr>
<td>Agama
:</td><td>
<select name="agama">
<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>
</select>
</td>
</tr>
<tr>
<td><input type="submit" value="simpan"></td>
<td><a href="#"><input type="button"
value="batal"></a></td>
</tr>
</table>
</form>
</body>
</html>
|
Create Data |
Selanjutnya buat file dengan nama
aksi_tambah_data_mahasiswa.php sebagai tujuan action form.
<?php
$nim=$_POST['nim'];
$nama=$_POST['nama'];
$tgllahir=$_POST['tgllahir'];
$alamat=$_POST['alamat'];
$agama=$_POST['agama'];
include('config.php');
mysqli_query($mysqli," insert into mhs values
('$nim','$nama','$tgllahir','alamat','agama')");
header("location:http:/mahasiswa/mahasiswa.php");
?>
Selanjutnya
update yaitu mengubah data melalui link
Edit di
kolom aksi, buat sebuah file dengan nama
edit_data_mahasiswa.php.
<!DOCTYPE html>
<html>
<head>
<title>
Edit Data Mahasiswa</title>
</head>
<body>
<form action="aksi_edit_data_mahasiswa.php" method="POST">
<table>
<caption>Edit Data Mahasiswa</caption>
<?php
include("config.php");
$hasil=mysqli_query($mysqli,"select * from mhs where nim='$_GET[nim]'");
$row=mysqli_fetch_array($hasil);
?>
<tr>
<td></td><td><input type="text" name="nim"
value="<?php echo $row['nim'] ?>" hidden></td>
</tr>
<tr>
<td>Nama
:</td><td><input type="text" name="nama" value="<?php echo
$row['nama'] ?>"></td>
</tr>
<tr>
<td>Tanggal Lahir
:</td><td><input type="date" name="tgllahir" value="<?php
echo $row['tgllahir'] ?>"></td>
</tr>
<tr>
<td>Alamat
:</td><td><input type="text" name="alamat" value="<?php echo
$row['alamat'] ?>"></td>
</tr>
<tr>
<td>Agama
:</td><td>
<select name="agama"
value="<?php echo $row['agama'] ?>">
<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>
</select>
</td>
</tr>
<tr>
<td><input type="submit" value="simpan"></td>
<td><a href="#"><input type="button"
value="batal"></a></td>
</tr>
</table>
</form>
</body>
</html>
|
Update Data |
sama seperti tambah data kita harus membuat file tujuan action, beri nama
aksi_edit_data_mahasiswa.php.
<?php
$nim=$_POST['nim'];
$nama=$_POST['nama'];
$tgllahir=$_POST['tgllahir'];
$alamat=$_POST['alamat'];
$agama=$_POST['agama'];
include('config.php');
mysqli_query($mysqli,"update mhs set
nama='$nama',
tgllahir='$tgllahir',
alamat='$alamat',
agama='$agama' where nim='$nim'");
header("location:http://localhost/mahasiswa/mahasiswa.php");
?>
Terakhir untuk Delete data yang dipanggil melalui link Delete di
kolom aksi. Kita tidak butuh form input maka buat sebuah file dengan nama
aksi_hapus.php.
<?php
include("config.php");
mysqli_query($mysqli,"delete from mhs where nim='$_GET[nim]'");
header("location:mahasiswa.php");
?>
Ketika link delete di klik maka akan muncul konfirmasi dan jika ya maka data
di hapus. Sebagai penjelasan akhir berikut ini beberapa fungsi mysqli:
-
mysqli_connect adalah perintah koneksi kedatabase yang ditampung dalam
variabel $mysqli yang digunakan di banyak form dengan menggunakan perintah
include("config.php")
-
mysqli_query(parameter 1, parameter 2) parameter pertama adalah sring
koneksi ($mysqli) dan parameter kedua adalah perintah sql.
-
mysqli_fetch_array() memecah objek tabel menjadi array. perintah ini hanya
ada di Read.
- include memanggil file lain kedalam sebuah file.
Itulah hal-hal yang baiknya dipahami untuk CRUD di bahasa pemrograman PHP dan
database mysqli. Sebagai tambahan mysqli sebagai ganti dari mysql yang sudah tdk
dikembangkan (support) lagi.
---tambah_data_mahasiswa.php (file)
---aksi_tambah_data_mahasiswa.php (file)
---edit_data_mahasiswa.php (file)
---aksi_edit_data_mahasiswa.php (file)
Terimakasih sudah membaca..