Hallo teman-teman Dumet School, kembali lagi dengan saya Shelli Ripati. Pada kesempatan kali ini saya akan membahas tentang cara Menjumlahkan Data Pada Datatable menggunakan PHP. Sebelum memulai scriptnya teman-teman pastikan terlebih dahulu sudah menyediakan data yang disimpan di database untuk menampilkan ke dalam sebuah tabel.
Langkah pertama teman-teman buat struktur html terlebih dahulu seperti di bawah ini. Lalu simpan dengan nama index.php.
<html> <head> <title>Menjumlahkan Data Pada Datatable menggunakan PHP</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> <script src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script> <script src="https://cdn.datatables.net/1.10.12/js/dataTables.bootstrap.min.js"></script> <link rel="stylesheet" href="https://cdn.datatables.net/1.10.12/css/dataTables.bootstrap.min.css" /> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> </head> <body> <div class="container box"> <h3 align="center">Menjumlahkan Data Pada Datatable menggunakan PHP</h3> <br /> <div class="table-responsive"> <table id="order_data" class="table table-bordered table-striped"> <thead> <tr> <th>Kode Produk</th> <th>Nama Produk</th> <th>Harga</th> <th>Stok</th> </tr> </thead> <tbody></tbody> <tfoot> <tr> <th colspan="3">Total</th> <th id="total_order"></th> </tr> </tfoot> </table> </div> </div> </body> </html>
Dan jika sudah maka tahap selanjutnya masih didalam file index.php kita akan membuat script untuk menampilkan data ke dalam datatable seperti script di bawah ini.
$(document).ready(function(){
var dataTable = $('#order_data').DataTable({
"processing" : true,
"serverSide" : true,
"order" : [],
"ajax" : {
url:"fetch.php",
type:"POST"
},
drawCallback:function(settings)
{
$('#total_order').html(settings.json.total);
}
});
});
Dan tahap terakhir kita akan membuat perintah php didalam file baru yaitu fetch.php untuk mengambil data serta menjumlahkan data stok untuk ditampilkan juga kedalam datatable seperti berikut ini.
<?php
$connect = new PDO("mysql:host=localhost;dbname=test", "dumet", "school");
$column = array('kode_produk', 'nama_produk', 'harga_jual', 'stok');
$query = '
SELECT * FROM produk
WHERE kode_produk LIKE "%'.$_POST["search"]["value"].'%"
OR nama_produk LIKE "%'.$_POST["search"]["value"].'%"
OR harga_jual LIKE "%'.$_POST["search"]["value"].'%"
OR stok LIKE "%'.$_POST["search"]["value"].'%"
';
if(isset($_POST["order"])){
$query .= 'ORDER BY '.$column[$_POST['order']['0']['column']].' '.$_POST['order']['0']['dir'].' ';
}else{
$query .= 'ORDER BY id DESC ';
}
$query1 = '';
if($_POST["length"] != -1){
$query1 = 'LIMIT ' . $_POST['start'] . ', ' . $_POST['length'];
}
$statement = $connect->prepare($query);
$statement->execute();
$number_filter_row = $statement->rowCount();
$statement = $connect->prepare($query . $query1);
$statement->execute();
$result = $statement->fetchAll();
$data = array();
$total_order = 0;
foreach($result as $row){
$sub_array = array();
$sub_array[] = $row["kode_produk"];
$sub_array[] = $row["nama_produk"];
$sub_array[] = $row["harga_jual"];
$sub_array[] = $row["stok"];
$total_order = $total_order + floatval($row["stok"]);
$data[] = $sub_array;
}
function count_all_data($connect){
$query = "SELECT * FROM produk";
$statement = $connect->prepare($query);
$statement->execute();
return $statement->rowCount();
}
$output = array(
'draw' => intval($_POST["draw"]),
'recordsTotal' => count_all_data($connect),
'recordsFiltered' => $number_filter_row,
'data' => $data,
'total' => number_format($total_order, 2)
);
echo json_encode($output);
?>
Jika sudah maka akan seperti pada gambar di bawah ini.

Demikian artikel tentang cara Menjumlahkan Data Pada Datatable menggunakan PHP. Semoga dapat bermanfaat dan selamat mencoba.