CRUD Sederhana
Langkah awal, buatlah direktori baru pada htdocs lalu beri nama aplikasi_sederhana setelah itu buatlah berkas/file baru dengan nama koneksi.php lalu ketikkan Kode PHP berikut ini :
koneksi.php
Copy <?php
$server = 'localhost';
$username = 'root';
$password = '';
$database = 'web2';
$conn = mysqli_connect($server, $username, $password, $database);
if (!$conn) {
die('Gagal terhubung: ' . mysqli_connect_error());
}
?>
Setelah itu buka browser dan ketikkan http://localhost/phpmyadmin/ buat database baru dan beri nama web2 lalu ke tab SQL dan ketikkan Query Berikut:
Copy CREATE TABLE `mahasiswa`(
`id` INT(8) NOT NULL AUTO_INCREMENT,
`npm` CHAR(20) NOT NULL,
`nama` VARCHAR(40) NOT NULL,
PRIMARY KEY(`id`),
UNIQUE KEY `npm`(`npm`)
) ENGINE = INNODB;
INSERT INTO `mahasiswa` (`id`, `npm`, `nama`) VALUES
(1, '201401', 'Jokowi'),
(2, '201402', 'Prabowo');
Setelah itu anda buat file index.php lalu ketikkan kode PHP seperti berikut:
index.php
Copy <?php require 'koneksi.php'; ?>
<!DOCTYPE html>
<html>
<head>
<title>DATA MAHASISWA</title>
</head>
<body>
<p><a href="form_tambah.php">TAMBAH</a></p>
<table border="1" cellpadding="2" cellspacing="2" width="60%">
<thead>
<tr>
<th>No</th>
<th>NPM</th>
<th>Nama</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php
$sql = 'SELECT * FROM mahasiswa';
$data = mysqli_query($conn, $sql);
$no=(int)1;
foreach ($data as $rows): ?>
<tr>
<td><?php echo $no++ ?></td>
<td><?php echo $rows['npm'] ?></td>
<td><?php echo $rows['nama'] ?></td>
<td>
<a href="form_ubah.php?id=<?php echo $rows['id']?>">Ubah</a>
<a href="hapus.php?id=<?php echo $rows['id']?>">Hapus</a>
</td>
</tr>
<?php endforeach?>
</tbody>
</table>
</body>
</html>
Lalu jika anda klik tautan atau link ubah akan dilempar ke file form_ubah.php dan memberikan parameter id untuk mendapatkan value berdasarkan kolom id dari tabel Mahasiswa. lalu buatlah file form_ubah.php dan ketikkan kode PHP seperti berikut:
form_ubah.php
Copy <?php
require 'koneksi.php';
$id_mhs = $_REQUEST['id'];
$sql = "SELECT * FROM mahasiswa WHERE id='$id_mhs'";
$result = mysqli_query($conn,$sql);
foreach ($result as $rows) {
$id = $rows['id'];
$npm = $rows['npm'];
$nama = $rows['nama'];
}
?>
<!DOCTYPE html>
<html>
<head>
<title>UBAH DATA MAHASISWA</title>
</head>
<body>
<form action="ubah.php" method="POST">
<input type="hidden" name="txtid" value="<?php echo $id ?>">
<label for="">NPM:</label>
<input type="text" name="txtnpm" value="<?php echo $npm ?>">
<label for="">NAMA:</label>
<input type="text" name="txtnama" value="<?php echo $nama ?>">
<button type="submit">UBAH</button>
</form>
</body>
</html>
Ketika anda menekan tombol UBAH maka action dilempar ke ubah.php dan akan melakukan UPDATE data dengan Query, anda buat file ubah.php dan ketikkan kode PHP seperti berikut:
ubah.php
Copy <?php require 'koneksi.php';
$data = array(
'npm' => $_POST['txtnpm'],
'nama' => $_POST['txtnama'],
);
$where = $_POST['txtid'];
$cols = array();
foreach($data as $key=>$val) {
$cols[] = "$key = '$val'";
}
$sql = "UPDATE mahasiswa SET ". implode(',', $cols). "WHERE id=".$where;
mysqli_query($conn,$sql);
if ($sql) {
echo 'Data berhasil diubah <br/><a href="index.php">Kembali</a>';
} else {
echo 'Error cuyy: ' . $sql . '<br>' . mysqli_error($conn);
}
mysqli_close($conn);
?>
Selanjutnya anda membuat form_tambah.php guna menambahkan data secara otomatis melalui form tersebut, anda bisa ketikkan kode PHP seperti berikut:
form_tambah.php
Copy <!DOCTYPE html>
<html>
<head>
<title>TAMBAH DATA MAHASISWA</title>
</head>
<body>
<form action="simpan.php" method="POST">
<label for="">NPM:</label>
<input type="text" name="txtnpm" placeholder="NPM" required="true">
<label for="">NAMA:</label>
<input type="text" name="txtnama" placeholder="NAMA" required="true">
<button type="submit">SIMPAN</button>
</form>
</body>
</html>
Jika tombol SIMPAN ditekan maka akan muncul fill validation atau validasi field yang harus diisi. Itulah kelebihan dari HTML5 dengan atibut required="true" dan jika field anda sudah isikan semua maka akan dikirim ke file simpan.php anda bisa ketikkan kode PHP seperti berikut:
simpan.php
Copy <?php
require 'koneksi.php';
$data = array(
'npm' => $_POST['txtnpm'],
'nama' => $_POST['txtnama'],
);
$key = array_keys($data);
$val = array_values($data);
$sql = "INSERT INTO mahasiswa(".implode(', ', $key) . ") ". "VALUES ('".implode("', '", $val) . "')";
mysqli_query($conn,$sql);
if ($sql) {echo 'Data berhasil disimpan <br/><a href="index.php">Kembali</a>';}
else {echo 'Error cuyy: ' . $sql . '<br>' . mysqli_error($conn);}
mysqli_close($conn);
?>
hapus.php
Copy <?php
require 'koneksi.php';
$id = $_REQUEST['id'];
$sql = mysqli_query($conn, "DELETE FROM mahasiswa WHERE id='$id'");
header("Location:index.php");
?>