Menjumlahkan record dengan PHP dan MySQLi

PlajariKode - Menjumlahkan record dengan PHP dan MySQLi

Belajar PHP - Menjumlahkan record dengan PHP dan MySQLi

Dalam tutorial ini, kita akan mempraktekan cara menjumlahkan record pada MySQL menggunakan PHP dan MySQLi, dan juga penggunaan GROUP BY dalam query-nya.

Berikut adalah daftar yang akan dilakukan pada artikel kali ini:
Pertama, kita buat database terlebih dahulu, buka PhpMyAdmin -> buat database baru dengan nama "sum" -> menu SQL dan pastekan kode berikut untuk membuat tabel product dan sales.
--
-- Table structure for table `product`
--

CREATE TABLE `product` (
  `productid` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  `product_name` varchar(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `product`
--

INSERT INTO `product` (`productid`, `product_name`) VALUES
(1, 'Apel'),
(2, 'Jeruk'),
(3, 'Alfuket');

-- --------------------------------------------------------

--
-- Table structure for table `sales`
--

CREATE TABLE `sales` (
  `salesid` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  `productid` int(11) NOT NULL,
  `sales_qty` double NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Output:


PlajariKode - Menjumlahkan record dengan PHP dan MySQL
Struktur table product

PlajariKode - Menjumlahkan record dengan PHP dan MySQL
Struktur tabel sales

PlajariKode - Menjumlahkan record dengan PHP dan MySQL
Record tabel product

Koneksi

Langkah selanjutnya adalah membuat koneksi database, disini saya menyimpannya dengan nama "conn.php". File ini berfungsi sebagai jembatan antara PHP dan MySQL.
<?php

//MySQLi OOP
$conn = new mysqli("localhost","root","","sum");
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
?>
  

Tampilan tabel dan form

Selanjutnya adalah membuat tabel dan formulir tambah data penjualan. Dalam hal ini, kita akan membuat contoh sederhana form penjualan lalu kita beri nama "indeks.php".
<?php 
include_once('conn.php'); 
session_start(); 

?>

<!DOCTYPE html>
<html>
<head>
	<title>How to Sum Column in MySQL using PHP/MySQLi</title>
</head>
<body>
	<div style="float: left; width: auto;">
		<h3>Tabel Penjualan</h3>
		<table border="1">
			<th>Nama Produk</th>
			<th>Qty</th>

			<!-- Menampilkan semua data penjualan -->
			<?php
			$total_qty=0;

			//MySQLi OOP
			$query=$conn->query("SELECT * FROM sales LEFT JOIN product ON product.productid=sales.productid ORDER BY product.product_name ASC");

				while($row=$query->fetch_array()) {
					?>

					<tr>
						<td><?= $row['product_name']; ?></td>
						<td><?= $row['sales_qty']; ?></td>
					</tr>

					<?php 
					$total_qty += $row['sales_qty'];
				}
			?>

			<tr>
				<td><strong>TOTAL QTY</strong></td>
				<td><strong><?= $total_qty; ?></strong></td>
			</tr>
		</table>
	</div>
	<div style="float: left; margin-left: 100px; top: -300px;">
		<h3>Group By Produk</h3>
		<ul>
			
			<!-- Menampilkan jumlah total per item -->
			<?php 
			// MySQLi OOP
			$a=$conn->query("SELECT *, SUM(sales_qty) AS total_sales FROM sales LEFT JOIN product ON product.productid=sales.productid GROUP BY sales.productid");
			
			while($arow=$a->fetch_array()){
				?>
				<li>Total <?= $arow['product_name'] ?>: <?= $arow['total_sales']; ?></li>
				<?php 
			}
			?>

		</ul>
		<h3>Tambah Data Penjualan</h3>
		<form method="POST" action="add_sale.php">
			<select name="sales_product">
				<option value="0">Pilih Product</option>
				
				<!-- tampilkan data produk di combobox -->
				<?php
				$p=$conn->query("SELECT * FROM product");
				while($prow=$p->fetch_array()){
					?>
					<option value="<?= $prow['productid']; ?>"><?= $prow['product_name']; ?></option>
					<?php
				}	
				?>

			</select>
			Qty: <input type="text" name="sales_qty" required>
			<input type="submit" value="ADD">
		</form>
		<span>
			
			<?php
			if (isset($_SESSION['msg'])){
				echo $_SESSION['msg'];
				unset ($_SESSION['msg']);
			}
			?>

		</span>
	</div>
</body>
</html>

Proses penambahan

Terakhir, kita buat file PHP untuk proses penambahan data penjualannya, kita beri nama "add_sale.php".
<?php
	
	include('conn.php');
	session_start();
	$product=$_POST['sales_product'];
	$qty=$_POST['sales_qty'];
		if ($product==0){
			$_SESSION['msg']="Please select a product";
			header('location:index.php');
		}
		else{
			
			//MySQLi OOP
			$conn->query("INSERT INTO sales (productid,sales_qty) VALUES ('$product','$qty')");
			header('location:index.php');
		}
?>

Output:

PlajariKode - Menjumlakan record dengan PHP dan MySQL



Posting Komentar

0 Komentar