Membuat Aplikasi Peminjaman Barang Berbasis Web Dengan PHP dan MySQL - Part 3 Bagian 1

Aplikasi Inventory CRUD Data Barang


Hai gengs, berjumpa lagi dalam artikel sederhana ini, masih dalam tahap pembuatan Aplikasi Peminjaman Barang Berbasis Web Dengan PHP dan MySQL, dan kita sudah sampai pada part 3 yakni CRUD Data Barang. Dalam part sebelumnya kita sudah Membuat Halaman Dashboard Admin dan akan dilanjutkan membuat halaman data barang, dimana akan menampilkan data barang dan memilih opsi untuk setiap data barang.

Oke, beberapa file yang akan kita buat diantaranya sebagai berikut:

  • admin/data-barang.php - Berisi kode untuk mengatur halaman pada setiap opsi yang dipilih oleh user
  • admin/includes/barang.php - Berisi kode untuk menampilkan (Read) data barang dan pemilihan opsi
  • admin/includes/tambah-barang.php - Baris kode untuk form tambah data barang
  • admin/proses/proses-tambah-barang.php - Berisi query untuk insert data barang




Maka strukturnya akan seperti berikut:

  • admin (folder)
    • data-barang.php
    • includes (folder)
      • barang.php
      • tambah-barang.php
    • proses (folder)
      • proses-tambah-barang.php

Data Barang

  1. Buat file baru dengan nama data-barang.php dan letakan pada folder admin
  2. Masukan baris kode berikut:
<?php
session_start();
require_once '../config/db.php';

if (!isset($_SESSION['id_user'])) {
  header('Location: ../index.php');
}

// Mengelurkan seluruh data barang yang ada di Database
$sql = "SELECT * FROM barang LEFT JOIN users ON barang.id_user = users.id_user";
$query = $conn->query($sql);
$data_barang = $query->fetch_all(MYSQLI_ASSOC);

// Nomor untuk increment baris tabel
$no = 1;

require_once 'includes/header.php';

if (!isset($_GET['p'])) {
  require_once 'includes/barang.php'; 
} else if ($_GET['p'] == 'tambah-barang') {
  require_once 'includes/'.$_GET['p'].'.php'; 
} else if ($_GET['p'] == 'detail-barang') {
  require_once 'includes/'.$_GET['p'].'.php'; 
} else if ($_GET['p'] == 'edit-barang') {
  require_once 'includes/'.$_GET['p'].'.php'; 
} else if ($_GET['p'] == 'hapus-barang') {
 
  $hapus = $conn->query("DELETE FROM barang WHERE id_barang='".$_GET['id']."'");
  if ($hapus) {
    header('Location: data-barang.php');
  } else {
    header('Location: data-barang.php');
  }
}

require_once 'includes/footer.php';

Halaman Data Barang

  1. Untuk menampilkan semua data barang kita buat file barang.php didalam folder includes
  2. Lalu masukan kode berikut:
<div class="container mt-5">
 
  <h2>Data Barang</h2>
  <hr>

  <a href="index.php" class="btn btn-primary btn-sm float-left">← Kembali</a>
  <a href="?p=tambah-barang" class="btn btn-primary btn-sm float-right">Tambah Data</a>

  <div class="clearfix"></div>

  <table class="table table-sm mt-3">
    <thead>
      <tr>
        <th>No</th>
        <th>Nama Barang</th>
        <th>Kondisi</th>
        <th>Jumlah</th>
        <th>Jenis</th>
        <th>Tgl. Regis</th>
        <th>Ruang</th>
        <th>Petugas</th>
        <th>Aksi</th>
      </tr>
    </thead>
    <tbody>
      <?php foreach($data_barang as $barang): ?>
      
      <tr>
        <td><?= $no++; ?></td>
        <td><?= $barang['nama_barang']; ?>
        <td><?= $barang['kondisi']; ?>
        <td><?= $barang['jumlah']; ?>
        <td><?= $barang['jenis']; ?>
        <td><?= $barang['tgl_regis']; ?>
        <td><?= $barang['ruang']; ?>
        <td><?= $barang['nama']; ?>
        <td>
          <div class="d-inline">
            <a href="?p=detail-barang&id=<?= $barang['id_barang']; ?>" class="btn btn-primary btn-sm">Detail</a>
            <a href="?p=edit-barang&id=<?= $barang['id_barang']; ?>" class="btn btn-success btn-sm">Edit</a>
            <a href="?p=hapus-barang&id=<?= $barang['id_barang']; ?>" class="btn btn-danger btn-sm" onclick="return confirm('Hapus data ini?')">Hapus</a>
          </div>
        </td>
      </tr>
      
      <?php endforeach; ?>
    </tbody>
  </table>

</div>


Outputnya akan seperti gambar berikut:

Plajarikode - Form Data Barang Aplikasi Inventory

Form Tambah Data Barang

  1. Buat lagi file dalam folder includes dengan nama tambah-barang.php
  2. Masukan baris kode berikut:
<div class="container mt-5">
 
  <h2>Tambah Data Barang</h2>
  <hr>

  <a href="data-barang.php" class="btn btn-primary btn-sm float-left">← kembali</a>
  <div class="clearfix"></div>

  <form action="proses/proses-tambah-barang.php" method="POST" class="mt-3" autocomplete="off">
    <div class="form-group">
      <label for="nama_barang">Nama Barang</label>
      <input type="text" name="nama_barang" placeholder="Contoh: Kursi" class="form-control" autofocus required>
    </div>

    <div class="row">
      <div class="col-md-4">
 <div class="form-group">
   <label for="jenis">Jenis Barang</label>
   <input type="text" name="jenis" class="form-control" required placeholder="Contoh: Kayu">
 </div>
      </div>
      <div class="col-md-4">
 <div class="form-group">
   <label for="jumlah">Jumlah</label>
   <input type="number" name="jumlah" min="1" placeholder="Minimal 1" class="form-control" required>
 </div>
      </div>
      <div class="col-md-4">
 <div class="form-group">
   <label for="ruang">Ruang</label>
   <input type="text" name="ruang" class="form-control" required placeholder="Contoh: Gudang">
 </div>
      </div>
    </div>

    <div class="row">
      <div class="col-md-4">
 <div class="form-group">
   <label for="jenis">Kondisi Barang</label>
   <input type="text" name="kondisi" class="form-control" required placeholder="Contoh: Baik">
 </div>
      </div>
      <div class="col-md-4">
 <div class="form-group">
   <label for="ket">Keterangan</label>
   <textarea class="form-control" name="ket" placeholder="(Opsional)"></textarea>
 </div>
      </div>
      <div class="col-md-4">
 <button type="submit" name="simpan" class="btn btn-success btn-sm" style="margin-top:32px; width:100%;"><b>Simpan</b></button>
      </div>
    </div>
  </form>
</div>

Akan nampak seperti gambar dibawah ini:

Aplikasi Inventory CRUD Data Barang

Proses Tambah Data Barang

  1. Nah, 1 file lagi kita buat, tapi yang ini kita letakan pada folder proses dan namakan proses-tambah-barang.php
  2. Berikut baris kodenya:
<?php

session_start();
require_once '../../config/db.php';

if(!isset($_SESSION['user'])) {
 header('Location: ../../index.php');
}

$nama_barang = $_POST['nama_barang'];
$jenis = $_POST['jenis'];
$jumlah = $_POST['jumlah'];
$ruang = $_POST['ruang'];
$kondisi = $_POST['kondisi'];
$ket = $_POST['ket'];
$tgl_regis = date('Y-m-d');
$petugas = $_SESSION['id_user'];

if(!isset($nama_barang, $jenis, $jumlah, $ruang, $kondisi, $ket)) {
  header('Location: ../data-barang.php?p=tambah-barang');
}

$sql = "INSERT INTO barang VALUES ('', '$nama_barang', '$kondisi', '$ket', '$jumlah', '$jenis', '$tgl_regis', '$ruang', '$petugas')";
$query = $conn->query($sql);

if($query) {
  header('Location: ../data-barang.php');
} else {
  header('Location: ../data-barang.php?p=tambah-barang');
}

Nah gengs, kita sudah sampai diakhir artikel, dalam tahap ini kita sudah berhasil melakukan Create, Read dan Delete data Barang, pada artikel berikutnya kita akan plajari cara Update data barangnya dan jika kalian ada kendala atau ada pertanyaan silahkan tuliskan dikolom komentar, sampai jumpa diartikel selanjutnya dan terimakasih.



Posting Komentar

6 Komentar

  1. saya pake php 7 kok ga bisa semua ya ':D

    BalasHapus
  2. Itu field ruang emang gak ada di database ya mas?

    BalasHapus
  3. Pas saya tambah data kok nama barang ke isi jadi tgl regis mas, kenapa ya?

    BalasHapus
  4. bang kok saya tidak terjadi apa2 ya pas klik simpan?

    BalasHapus
  5. bang mau tanya apabila kita memiliki tabel user admin dan tabel user anggota bagaimana di masing2 tabel ada id_wilyah bagaimana caranya agar user admin yang kita buat hanya menampilkan data user anggota sesuai id_wilayah masing2 terimakasih

    BalasHapus