0% found this document useful (0 votes)
8 views7 pages

Update Dan Delete CI4

The document outlines a web application for managing an inventory of goods using PHP and CodeIgniter. It includes views for displaying, adding, and editing items, as well as a controller that handles the logic for these operations. The application utilizes Bootstrap for styling, jQuery for interactivity, and DataTables for enhanced table functionality.

Uploaded by

samgiga168
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views7 pages

Update Dan Delete CI4

The document outlines a web application for managing an inventory of goods using PHP and CodeIgniter. It includes views for displaying, adding, and editing items, as well as a controller that handles the logic for these operations. The application utilizes Bootstrap for styling, jQuery for interactivity, and DataTables for enhanced table functionality.

Uploaded by

samgiga168
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Views/header_view.

php
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- Link ke Bootstrap CSS -->
<link rel="stylesheet" href="<?= base_url('css/bootstrap.min.css') ?>">

<!-- Bootstrap -->


<link href="<?= base_url('css/bootstrap.min.css" rel="stylesheet') ?>">
<link href="<?= base_url('css/bootstrap-icons.min.v1.5.0.css') ?>" rel="stylesheet">
<script src="<?= base_url('js/bootstrap.bundle.min.js') ?>"></script>

<!-- Jquery -->


<script type="<?= base_url('text/javascript" src="js/jquery-3.7.1.min.js') ?>"></script>

<!-- Font Awesome -->


<link rel="stylesheet" href="<?= base_url('fontawesome/css/font-awesome.min.css') ?>">

<!-- Data Tables -->


<link href="<?php echo base_url('datatables/datatables.css') ?>" type="text/css" rel="stylesheet">
<script type="text/javascript" src="<?php echo base_url('datatables/datatables.js') ?>"></script>

<!-- DataTables CSS -->


<link rel="stylesheet" href="https://cdn.datatables.net/1.11.5/css/jquery.dataTables.min.css">

<!-- Sweet alert 2 -->


<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>

<!-- DataTables CSS -->


<link rel="stylesheet" href="https://cdn.datatables.net/1.13.6/css/jquery.dataTables.min.css">
<!-- jQuery -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<!-- DataTables JS -->
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>

</head>

<body>
<nav class="navbar navbar-expand-sm navbar-dark bg-info">
<div class="container">
<a href="<?= base_url(); ?>" class="navbar-brand">Data Barang Inventory</a>
<button class="navbar-toggle d-lg-none" type="button" data-toggle="collapse" data-target="#collapsibleNavId"
aria-controls="collapsibleNavId" aria-expanded="false" aria-label="Toggle navigation">

</button>
</div>
</nav>

Views/barang_view.php
<div class="container pt-5">
<a href="<?= base_url('barang/new'); ?>" class="btn btn-success mb-2">Tambah Data</a>
<div class="card">
<div class="card-header bg-info text-white">
<h4 class="card-title text-center">Tabel data inventory</h4>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-bordered table-striped" id="barangTable">
<thead>
<tr>
<th>No.</th>
<th>Nama Barang</th>
<th>Qty</th>
<th>Merek barang</th>
<th>Type</th>
<th>harga</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php $no = 1;
foreach ($getBarang as $isi) { ?>
<tr>
<td><?= $no; ?></td>
<td><?= $isi['nama_barang']; ?></td>
<td><?= $isi['qty']; ?></td>
<td><?= $isi['merk']; ?></td>
<td><?= $isi['type']; ?></td>
<td>Rp <?= number_format($isi['harga']); ?> </td>
<td>
<a href="<?= base_url('barang/edit/' . $isi['id_barang']); ?>"
class="btn btn-success">
Edit</a>
<a href="<?= base_url('barang/remove/' . $isi['id_barang']); ?>"
onclick="javascript:return confirm('Apakah ingin menghapus data barang ?')"
class="btn btn-danger">
Hapus</a>
</td>
</tr>
<?php $no++;
} ?>
</tbody>
</table>
</div>
</div>
</div>
</div>

<script>
$(document).ready(function() {
$('#barangTable').DataTable();
});
</script>

Views/footer_view.php
<!-- Link ke Bootstrap JS -->
<script src="<?= base_url('js/bootstrap.bundle.min.js') ?>"></script>
<!-- Link javascript untuk Jquery -->
<script src="<?= base_url('js/jquery-3.7.1.min.js') ?>"></script>
</body>
</html>

Views/tambah_view.php
<div class="containter p-5">
<a href="<?php echo base_url('barang') ?>" class="btn btn-secondary mb-2">Kembali</a>
<div class="card">
<div class="card-header bg-info text-white">
<div class="card-title text-center">Tambah Data Barang</div>
<div class="card-body">
<form action="<?php echo base_url('barang/create') ?>" method="post">
<div class="form-group">
<label for="">Nama Barang</label>
<input type="text" name="nama" class="form-control" id="" required>
</div>
<div class="form-group">
<label for="">Quantity</label>
<input type="text" name="qty" class="form-control" id="" required>
</div>
<div class="form-group">
<label for="">Merek Barang</label>
<input type="text" name="merk" class="form-control" id="" required>
</div>
<div class="form-group">
<label for="">Tipe barang</label>
<input type="text" name="type" class="form-control" id="" required>
</div>
<div class="form-group">
<label for="">Harga</label>
<input type="number" name="harga" class="form-control" id="" required>
</div>
<br>
<button class="btn btn-success">Tambah Data</button>
</form>

</div>
</div>
</div>
</div>

Views/edit_view.php
<div class="containter p-5">
<a href="<?php echo base_url('barang') ?>" class="btn btn-secondary mb-2">Kembali</a>
<div class="card">
<div class="card-header bg-info text-white">
<div class="card-title text-center">Edit Data Barang</div>
<div class="card-body">
<form action="<?= base_url('barang/update/' . $barang['id_barang']) ?>" method="post">
<?= csrf_field() ?>
<input type="hidden" name="id_barang" value="<?= $barang['id_barang'] ?>">
<div class="form-group">
<label for="">Nama Barang</label>
<input type="text" name="nama" value="<?= $barang['nama_barang'] ?>" class="form-control" id=""
required>
</div>
<div class="form-group">
<label for="">Quantity</label>
<input type="number" name="qty" value="<?= $barang['qty'] ?>" class="form-control" id="" required>
</div>
<div class="form-group">
<label for="">Merek Barang</label>
<input type="text" name="merk" value="<?= $barang['merk'] ?>" class="form-control" id="" required>
</div>
<div class="form-group">
<label for="">Tipe barang</label>
<input type="text" name="type" value="<?= $barang['type'] ?>" class="form-control" id="" required>
</div>
<div class="form-group">
<label for="">Harga</label>
<input type="number" name="harga" value="<?= $barang['harga'] ?>" class="form-control" id="" required>
</div>
<br>
<button class="btn btn-success">Edit Data</button>
</form>

</div>
</div>
</div>
</div>

Contollers/Barang.php
<?php
namespace App\Controllers;
use CodeIgniter\Controller;
use App\Models\Barang_model;

use Codeigniter\RESTfull\ResourcePresenter;

class Barang extends BaseController{


public function index(){
$model = new Barang_model;
$data['title'] = 'Data Barang';
$data['getBarang'] = $model->getBarang();
echo view('header_view', $data);
echo view('barang_view', $data);
echo view('footer_view', $data);
}

public function new(){


$data['title'] = 'Tambah Data Barang';
echo view('header_view', $data);
echo view('tambah_view', $data);
echo view('footer_view', $data);
}

public function create(){


$model = new Barang_model;
$data = array(
'nama_barang' => $this->request->getPost('nama'),
'qty' => $this->request->getPost('qty'),
'merk' => $this->request->getPost('merk'),
'type' => $this->request->getPost('type'),
'harga' => $this->request->getPost('harga')
);
$model->saveBarang($data);
// Notifikasi bawaan bisa memakai alertifyJS
echo '<script>
alert("Sukses Tambah Data Barang");
window.location="'.base_url('barang').'";
</script>';
// echo '<script>
// Swal.fire({
// icon: "success",
// title: "Sukses Tambah Data Barang",
// text: "Data barang telah berhasil ditambahkan.",
// showConfirmButton: false,
// timer: 1500
// }).then(function() {
// window.location = "' . base_url('barang') . '";
// });
// </script>';
}

// public function edit($id=null){


// $model = new Barang_model;
// $getBarang = $model->getBarang($id)->getRow();
// if(isset($getBarang)){
// $data['barang'] = $getBarang;
// $data['title'] = 'Edit'.$getBarang->nama_barang;

// echo view('header_view',$data);
// echo view('edit_view',$data);
// echo view('footer_view',$data);

// }else {
// echo '
// <script>
// alert("")ID barang'.$id.' Tidak ditemukan;
// window.location="'.base_url('barang').'"
// </script>';
// }
// }

public function edit($id=null){


$model = new Barang_model;
$getBarang = $model->getBarang($id); // Hasilnya array
// $getBarang = $model->getBarang($id)->getRow(); // getRow() digunakan untuk mengambil 1 baris
if(isset($getBarang)){
$data['barang'] = $getBarang;
$data['title'] = 'Edit '.$getBarang['nama_barang'];

echo view('header_view',$data);
echo view('edit_view',$data);
echo view('footer_view',$data);

}else {
echo '
<script>
alert("")ID barang'.$id.' Tidak ditemukan;
window.location="'.base_url('barang').'"
</script>';
}
}

// public function update($id=null)


// {
// $model = new Barang_model;
// $id = $this->request->getPost('id_barang');
// $data = array(
// 'nama_barang' => $this->request->getPost('nama'),
// 'qty' => $this->request->getPost('qty'),
// 'merk' => $this->request->getPost('merk'),
// 'type' => $this->request->getPost('type'),
// 'harga' => $this->request->getPost('harga')
// );
// $model->editBarang($data,$id);
// echo '<script>
// alert("Sukses Edit Data Barang");
// window.location="'.base_url('barang').'"
// </script>';
// }

// Versi 4.1.3
public function update($id = null)
{
$model = new Barang_model();

// Validasi input dari form


$validation = \Config\Services::validation();
$validation->setRules([
'nama' => 'required|string|max_length[100]',
'qty' => 'required|integer',
'merk' => 'required|string|max_length[50]',
'type' => 'required|string|max_length[50]',
'harga' => 'required|numeric',
]);

// Jika validasi gagal


if (!$validation->withRequest($this->request)->run()) {
return redirect()->back()->with('errors', $validation->getErrors())->withInput();
}

// Ambil data input dari form


$data = [
'nama_barang' => $this->request->getPost('nama'),
'qty' => $this->request->getPost('qty'),
'merk' => $this->request->getPost('merk'),
'type' => $this->request->getPost('type'),
'harga' => $this->request->getPost('harga'),
];

// Update data di database


$update = $model->editBarang($data, $id);

if ($update) {
// Berhasil update
return redirect()->to(base_url('barang'))->with('message', 'Data berhasil diperbarui');
} else {
// Gagal update
return redirect()->back()->with('error', 'Gagal memperbarui data');
}
}

// Versi 4.1.3
// public function remove($id=null)
// {
// $model = new Barang_model;
// $getBarang = $model->getBarang($id);
// if(isset($getBarang))
// {
// $model->hapusBarang($id);
// echo '<script>
// alert("Hapus Data Barang Sukses");
// window.location="'.base_url('barang').'"
// </script>';
// }else{
// echo '<script>
// alert("Hapus Gagal !, ID barang '.$id.' Tidak ditemukan");
// window.location="'.base_url('barang').'"
// </script>';
// }
// }

public function hapus($id = null) {


$model = new Barang_model();

// Pastikan ID valid
if (is_numeric($id)) {
$delete = $model->deleteBarang($id);

if ($delete) {
return redirect()->to(base_url('barang'))->with('message', 'Data berhasil dihapus');
} else {
return redirect()->to(base_url('barang'))->with('error', 'Gagal menghapus data');
}
} else {
return redirect()->to(base_url('barang'))->with('error', 'ID tidak valid');
}
}

You might also like