MEMBUAT CRUD_MHS DI PHP
CRUD
{Create, Read, Update dan Delete}
sebelum membuat CRUD pertama-tama kita harus membuat database terlebih dahulu.Kemudian buat file koneksi.php untuk menghubungkan web dengan database yang kita buat.
Berikut prosesnya
👇👇
script koneksi.php
<?php
$host = "localhost";
$user = "root";
$pass = "";
$nama_db = "perpuss"; //nama database
$koneksi = mysqli_connect($host,$user,$pass,$nama_db); //pastikan urutan nya seperti ini, jangan tertukar
if(!$koneksi){ //jika tidak terkoneksi maka akan tampil error
die ("Koneksi dengan database gagal: ".mysql_connect_error());
}
/*CREATE TABLE `produk` ( `id` INT(11) NOT NULL AUTO_INCREMENT , `nama_produk` VARCHAR(255) NULL , `deskripsi` TEXT NULL , `harga_beli` INT(11) NULL , `harga_jual` INT(11) NULL , `gambar_produk` VARCHAR(255) NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;*/
?>
script edit_data.php
<?php
// memanggil file koneksi.php untuk membuat koneksi
include 'koneksi.php';
// mengecek apakah di url ada nilai GET id
if (isset($_GET['id'])) {
// ambil nilai id dari url dan disimpan dalam variabel $id
$id = ($_GET["id"]);
// menampilkan data dari database yang mempunyai id=$id
$query = "SELECT * FROM mahasiswa WHERE id='$id'";
$result = mysqli_query($koneksi, $query);
// jika data gagal diambil maka akan tampil error berikut
if(!$result){
die ("Query Error: ".mysqli_errno($koneksi).
" - ".mysqli_error($koneksi));
}
// mengambil data dari database
$data = mysqli_fetch_assoc($result);
// apabila data tidak ada pada database maka akan dijalankan perintah ini
if (!count($data)) {
echo "<script>alert('Data tidak ditemukan pada database');window.location='index.php';</script>";
}
} else {
// apabila tidak ada data GET id pada akan di redirect ke index.php
echo "<script>alert('Masukkan data id.');window.location='index.php';</script>";
}
?>
<!DOCTYPE html>
<html>
<head>
<title>CRUD Produk dengan gambar - Gilacoding</title>
<style type="text/css">
* {
font-family: "Trebuchet MS";
}
h1 {
text-transform: uppercase;
color: salmon;
}
button {
background-color: salmon;
color: #fff;
padding: 10px;
text-decoration: none;
font-size: 12px;
border: 0px;
margin-top: 20px;
}
label {
margin-top: 10px;
float: left;
text-align: left;
width: 100%;
}
input {
padding: 6px;
width: 100%;
box-sizing: border-box;
background: #f8f8f8;
border: 2px solid #ccc;
outline-color: salmon;
}
div {
width: 100%;
height: auto;
}
.base {
width: 400px;
height: auto;
padding: 20px;
margin-left: auto;
margin-right: auto;
background: #ededed;
}
</style>
</head>
<body>
<center>
<h1>Edit data <?php echo $data['nim']; ?></h1>
<center>
<form method="POST" action="proses_edit.php" enctype="multipart/form-data" >
<section class="base">
<!-- menampung nilai id produk yang akan di edit -->
<input name="id" value="<?php echo $data['id']; ?>" hidden />
<div>
<label>NIM</label>
<input type="text" name="nim" value="<?php echo $data['nim']; ?>" autofocus="" required="" />
</div>
<div>
<label>Nama</label>
<input type="text" name="nama" value="<?php echo $data['nama']; ?>" />
</div>
<div>
<label>Jurusan</label>
<input type="text" name="jurusan" required=""value="<?php echo $data['jurusan']; ?>" />
</div>
<div>
<label>Alamat</label>
<input type="text" name="alamat" required="" value="<?php echo $data['alamat']; ?>"/>
</div>
<div>
<label>Gambar</label>
<img src="gambar/<?php echo $data['gambar']; ?>" style="width: 120px;float: left;margin-bottom: 5px;">
<input type="file" name="gambar" />
<i style="float: left;font-size: 11px;color: red">Abaikan jika tidak merubah gambar produk</i>
</div>
<div>
<button type="submit">Simpan Perubahan</button>
</div>
</section>
</form>
</body>
</html>
script index.php
<?php
include('koneksi.php'); //agar index terhubung dengan database, maka koneksi sebagai penghubung harus di include
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
* {
font-family: "Trebuchet MS";
}
h1 {
text-transform: uppercase;
color: black;
}
table {
border: solid 1px #DDEEEE;
border-collapse: collapse;
border-spacing: 0;
width: 70%;
margin: 10px auto 10px auto;
}
table thead th {
background-color: #eaeaea;
border: solid 1px #000000;
color: #336B6B;
padding: 10px;
text-align: left;
text-shadow: 1px 1px 1px #fff;
text-decoration: none;
}
table tbody td {
border: solid 1px #000000;
color: #333;
padding: 10px;
text-shadow: 1px 1px 1px #fff;
}
a {
background-color: black;
color: #fff;
padding: 10px;
text-decoration: none;
font-size: 12px;
}
</style>
</head>
<body style="background-color: #dadada">
<center><h1>Data Mahasiswa</h1><center>
<center><a href="tambah_data.php">+ Tambah Data</a><center>
<br/>
<table>
<thead>
<tr>
<th>No</th>
<th>NIM</th>
<th>Nama</th>
<th>Jurusan</th>
<th>Alamat</th>
<th>Gambar</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
// jalankan query untuk menampilkan semua data diurutkan berdasarkan nim
$query = "SELECT * FROM mahasiswa ORDER BY id ASC";
$result = mysqli_query($koneksi, $query);
//mengecek apakah ada error ketika menjalankan query
if(!$result){
die ("Query Error: ".mysqli_errno($koneksi).
" - ".mysqli_error($koneksi));
}
//buat perulangan untuk element tabel dari data mahasiswa
$no = 1; //variabel untuk membuat nomor urut
// hasil query akan disimpan dalam variabel $data dalam bentuk array
// kemudian dicetak dengan perulangan while
while($row = mysqli_fetch_assoc($result))
{
?>
<tr>
<td><?php echo $no; ?></td>
<td><?php echo $row['nim']; ?></td>
<td><?php echo ($row['nama']); ?>...</td>
<td> <?php echo ($row['jurusan']); ?></td>
<td> <?php echo $row['alamat']; ?></td>
<td style="text-align: center;"><img src="gambar/<?php echo $row['gambar']; ?>" style="width: 120px;"></td>
<td>
<a href="edit_data.php?id=<?php echo $row['id']; ?>">Edit</a> |
<a href="proses_hapus.php?id=<?php echo $row['id']; ?>" onclick="return confirm('Anda yakin akan menghapus data ini?')">Hapus</a>
</td>
</tr>
<?php
$no++; //untuk nomor urut terus bertambah 1
}
?>
</tbody>
</table>
</body>
</html>
~Tampilan Index.php~
script tambah_data.php
<?php
include('koneksi.php'); //agar index terhubung dengan database, maka koneksi sebagai penghubung harus di include
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
* {
font-family: "Trebuchet MS";
}
h1 {
text-transform: uppercase;
color: salmon;
}
button {
background-color: salmon;
color: #fff;
padding: 10px;
text-decoration: none;
font-size: 12px;
border: 0px;
margin-top: 20px;
}
label {
margin-top: 10px;
float: left;
text-align: left;
width: 100%;
}
input {
padding: 6px;
width: 100%;
box-sizing: border-box;
background: #f8f8f8;
border: 2px solid #ccc;
outline-color: salmon;
}
div {
width: 100%;
height: auto;
}
.base {
width: 400px;
height: auto;
padding: 20px;
margin-left: auto;
margin-right: auto;
background: #ededed;
}
</style>
</head>
<body>
<center>
<h1>Tambah data</h1>
<center>
<form method="POST" action="proses_tambah.php" enctype="multipart/form-data" >
<section class="base">
<div>
<label>NIM</label>
<input type="text" name="nim" autofocus="" required="" />
</div>
<div>
<label>Nama</label>
<input type="text" name="nama" />
</div>
<div>
<label>Jurusan</label>
<input type="text" name="jurusan" required="" />
</div>
<div>
<label>Alamat</label>
<input type="text" name="alamat" required="" />
</div>
<div>
<label>Gambar</label>
<input type="file" name="gambar" required="" />
</div>
<div>
<button type="submit">Simpan </button>
</div>
</section>
</form>
</body>
</html>
~Tampilan tambah_data.php~
script edit dan update.php
<?php
// memanggil file koneksi.php untuk melakukan koneksi database
include 'koneksi.php';
// membuat variabel untuk menampung data dari form
$id = $_POST['id'];
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$jurusan = $_POST['jurusan'];
$alamat = $_POST['alamat'];
$gambar = $_FILES['gambar']['name'];
//cek dulu jika merubah gambar produk jalankan coding ini
if($gambar != "") {
$ekstensi_diperbolehkan = array('png','jpg'); //ekstensi file gambar yang bisa diupload
$x = explode('.', $gambar); //memisahkan nama file dengan ekstensi yang diupload
$ekstensi = strtolower(end($x));
$file_tmp = $_FILES['gambar']['tmp_name'];
$angka_acak = rand(1,999);
$nama_gambar_baru = $angka_acak.'-'.$gambar; //menggabungkan angka acak dengan nama file sebenarnya
if(in_array($ekstensi, $ekstensi_diperbolehkan) === true) {
move_uploaded_file($file_tmp, 'gambar/'.$nama_gambar_baru); //memindah file gambar ke folder gambar
// jalankan query UPDATE berdasarkan ID yang produknya kita edit
$query = "UPDATE produk SET nim = '$nim', nama = '$nama', jurusan = '$jurusan', alamat = '$alamat', gambar = '$nama_gambar_baru'";
$query .= "WHERE id = '$id'";
$result = mysqli_query($koneksi, $query);
// periska query apakah ada error
if(!$result){
die ("Query gagal dijalankan: ".mysqli_errno($koneksi).
" - ".mysqli_error($koneksi));
} else {
//tampil alert dan akan redirect ke halaman index.php
//silahkan ganti index.php sesuai halaman yang akan dituju
echo "<script>alert('Data berhasil diubah.');window.location='index.php';</script>";
}
} else {
//jika file ekstensi tidak jpg dan png maka alert ini yang tampil
echo "<script>alert('Ekstensi gambar yang boleh hanya jpg atau png.');window.location='tambah_produk.php';</script>";
}
} else {
// jalankan query UPDATE berdasarkan ID yang produknya kita edit
$query = "UPDATE mahasiswa SET nim = '$nim', nama = '$nama', jurusan = '$jurusan', alamat = '$alamat'";
$query .= "WHERE id = '$id'";
$result = mysqli_query($koneksi, $query);
// periska query apakah ada error
if(!$result){
die ("Query gagal dijalankan: ".mysqli_errno($koneksi).
" - ".mysqli_error($koneksi));
} else {
//tampil alert dan akan redirect ke halaman index.php
//silahkan ganti index.php sesuai halaman yang akan dituju
echo "<script>alert('Data berhasil diubah.');window.location='index.php';</script>";
}
}
~Tampilan edit.php~
Saya coba mengedit jurusan mahasiswa yang bernama Natalia Walter Kidi Djawang menjadi buat hati orang nyaman, dan di update maka hasilnya akann muncul seperti dibawah ini :
~Tampilan update.php~
script proses_tambah.php
<?php
// memanggil file koneksi.php untuk melakukan koneksi database
include 'koneksi.php';
// membuat variabel untuk menampung data dari form
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$jurusan = $_POST['jurusan'];
$alamat = $_POST['alamat'];
$gambar = $_FILES['gambar']['name'];
//cek dulu jika ada gambar produk jalankan coding ini
if($gambar != "") {
$ekstensi_diperbolehkan = array('png','jpg'); //ekstensi file gambar yang bisa diupload
$x = explode('.', $gambar); //memisahkan nama file dengan ekstensi yang diupload
$ekstensi = strtolower(end($x));
$file_tmp = $_FILES['gambar']['tmp_name'];
$angka_acak = rand(1,999);
$nama_gambar_baru = $angka_acak.'-'.$gambar; //menggabungkan angka acak dengan nama file sebenarnya
if(in_array($ekstensi, $ekstensi_diperbolehkan) === true) {
move_uploaded_file($file_tmp, 'gambar/'.$nama_gambar_baru); //memindah file gambar ke folder gambar
// jalankan query INSERT untuk menambah data ke database pastikan sesuai urutan (id tidak perlu karena dibikin otomatis)
$query = "INSERT INTO mahasiswa (nim, nama, jurusan, alamat, gambar) VALUES ('$nim', '$nama', '$jurusan', '$alamat', '$nama_gambar_baru')";
$result = mysqli_query($koneksi, $query);
// periska query apakah ada error
if(!$result){
die ("Query gagal dijalankan: ".mysqli_errno($koneksi).
" - ".mysqli_error($koneksi));
} else {
//tampil alert dan akan redirect ke halaman index.php
//silahkan ganti index.php sesuai halaman yang akan dituju
echo "<script>alert('Data berhasil ditambah.');window.location='index.php';</script>";
}
} else {
//jika file ekstensi tidak jpg dan png maka alert ini yang tampil
echo "<script>alert('Ekstensi gambar yang boleh hanya jpg atau png.');window.location='tambah_produk.php';</script>";
}
} else {
$query = "INSERT INTO mahasiswa (nim, nama, jurusan, alamat, gambar) VALUES ('$nim', '$nama', '$jurusan', '$alamat', null)";
$result = mysqli_query($koneksi, $query);
// periska query apakah ada error
if(!$result){
die ("Query gagal dijalankan: ".mysqli_errno($koneksi).
" - ".mysqli_error($koneksi));
} else {
//tampil alert dan akan redirect ke halaman index.php
//silahkan ganti index.php sesuai halaman yang akan dituju
echo "<script>alert('Data berhasil ditambah.');window.location='index.php';</script>";
}
}
script proses_hapus.php
<?php
include 'koneksi.php';
$id = $_GET["id"];
//jalankan query DELETE untuk menghapus data
$query = "DELETE FROM mahasiswa WHERE id='$id' ";
$hasil_query = mysqli_query($koneksi, $query);
//periksa query, apakah ada kesalahan
if(!$hasil_query) {
die ("Gagal menghapus data: ".mysqli_errno($koneksi).
" - ".mysqli_error($koneksi));
} else {
echo "<script>alert('Data berhasil dihapus.');window.location='index.php';</script>";
}
~Tampilan hapus.php~
~Tampilan setelah hapus.php~
"screenshot edit_data.php" :
"screenshot index.php" :
"screenshot tambah_data.php" :
"screenshot edit dan update.php" :
"screenshot proses_tambah.php" :
"screenshot proses_hapus.php" :
THANK YOU😍💙























Komentar
Posting Komentar