Cara menghitung total bayar dengan PHP

Tutorial PHP - Tampilan tabel pembayaran untuk menghitung total bayar dengan PHP
Tutorial PHP - Pada kesempatan kali ini kita akan mempelajari cara menghitung total bayar dengan menggunakan PHP.

Sering kita menemukan kasus dimana kita harus melakukan penghitungan didalamnya, maka dari itu kita akan membuat aplikasi belanja sederhana disini.

Kita akan menginputkan sedara manual semua datanya yang kemudian dihitung secara otomatis jumlah total yang harus dibayarkan.

Langsung saja, pertama kita buat database beserta tabel didalamnya.

Database

Buat database dengan nama test, setelah itu buat satu tabel didalamnya dengan nama produk. Struktur untuk tabel produk seperti gambar berikut:

Tutorial PHP - Struktur table produk pada database test


atau dengan memasukan kode berikut pada menu SQL.
CREATE DATABASE IF NOT EXISTS test;
USE test;

CREATE TABLE produk (
  nama_produk varchar(50) NOT NULL,
  harga int(11) NOT NULL,
  qty int(11) NOT NULL
);

Jika sudah kita akan lanjut membuat file PHP-nya.

index.php

Dalam file ini kita akan meletakan semua kodenya, dari mulai koneksi, insert data dan juga read data. Jadi kodenya akan sedikit panjang.
<?php 

// koneksi
$conn = new mysqli('localhost', 'root', '', 'test');

// simpan data
if (isset($_POST['submit'])) {
 $nb = $_POST['nama_barang'];
 $hrg = $_POST['harga'];
 $qty = $_POST['qty'];

 $q = mysqli_query($conn, "INSERT INTO produk (nama_barang, harga, qty) VALUES ('$nb', '$hrg', '$qty')");

 if($q) {
  header('Location: index.php');
 } else {
  echo "<script>alert('Gagal menambahkan data'); window.location.href = index.php;</script>";
 }
}

?>

<!DOCTYPE html>
<html>
<head>
 <title>Menghitung total bayar</title>

 <!-- Bootstrap -->
 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
</head>
<body>
 
 <div class="container mt-5 mx-auto">
  <center>
   <h1>Menghitung total bayar dengan PHP</h1>
  </center>

  <div class="card mt-5">
   <div class="card-body mx-auto">
    <form method="POST" action="" class="form-inline mt-3">
     <label for="nama_barang">Nama Barang </label>
     <input type="text" name="nama_barang" id="nama_barang" class="form-control mr-sm-2">
     <label for="harga">Harga </label>
     <input type="number" name="harga" id="harga" class="form-control mr-sm-2">
     <label>Qty </label>
     <input type="number" name="qty" id="qty" class="form-control mr-sm-2">
     <button type="submit" name="submit" class="btn btn-primary">Hitung</button>
    </form>

    <table class="table table-bordered mt-5">
     <tr>
      <th>#</th>
      <th>Nama Barang</th>
      <th>Harga Satuan</th>
      <th>Qty</th>
      <th>Total</th>
     </tr>

     <?php
     // perintah tampil data
     $q = mysqli_query($conn, "SELECT * FROM produk");
     
     $total = 0;
     $tot_bayar = 0;
     $no = 1;

     while ($r = $q->fetch_assoc()) {
      // total adalah hasil dari harga x qty
      $total = $r['harga'] * $r['qty'];
      // total bayar adalah penjumlahan dari keseluruhan total
      $tot_bayar += $total;
     ?>

     <tr>
      <td><?= $no++ ?></td>
      <td><?= ucwords($r['nama_barang']) ?></td>
      <td><?= $r['harga'] ?></td>
      <td><?= $r['qty'] ?></td>
      <td><?= $total ?></td>
     </tr>

     <?php   
     }
     ?>

     <tr>
      <th colspan="4">Total Bayar</th>
      <th><?= $tot_bayar ?></th>
     </tr>

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

</body>
</html>

Penjelasan:

// simpan data
if (isset($_POST['submit'])) {
 $nb = $_POST['nama_barang'];
 $hrg = $_POST['harga'];
 $qty = $_POST['qty'];

 $q = mysqli_query($conn, "INSERT INTO produk (nama_barang, harga, qty) VALUES ('$nb', '$hrg', '$qty')");

 if($q) {
  header('Location: index.php');
 } else {
  echo "<script>alert('Gagal menambahkan data'); window.location.href = index.php;</script>";
 }
}
Pada baris kode diatas kita melakukan penyimpanan data pada tabel produk. Kita tidak melakukan penjumlahan ataupun perkalian pada kode diatas.

<?php
     // perintah tampil data
     $q = mysqli_query($conn, "SELECT * FROM produk");
     
     $total = 0;
     $tot_bayar = 0;
     $no = 1;

     while ($r = $q->fetch_assoc()) {
      // total adalah hasil dari harga x qty
      $total = $r['harga'] * $r['qty'];
      // total bayar adalah penjumlahan dari keseluruhan total
      $tot_bayar += $total;
     ?>
Barulah pada baris kode ini pada saat menampilkan data, kita juga melakukan perkalian untuk mendapatkan nilai total, tepatnya pada baris kode $total = $r['harga'] * $r['qty'];.

Untuk total bayar dihasilkan dari perulangan penjumlahan dari variabel $total.

Download code disini.

Posting Komentar

1 Komentar

  1. Mas kalo mau hitung persis kaya gtu, tapi ngambil nominalnya dari database, gimana ya?

    BalasHapus