untuk menjumlahkan data yang terdapat didalam array caranya mudah
contohnya :
<?php
$a = array(1,2,3);
$jumlah = array_sum($a);
echo $jumlah;
//maka akan menampilkan 6
?>
fungsi ini mungkin nggak kelihatan terlalu penting, tapi saya pernah mengalami kasus yang seperti ini :
Di database saya (MySQL) terdapat tb_pembelian yang isinya antara lain
- id_pembelian
- nm_pembeli
- jumlah_beli
- harga_item
lalu saya ingin menampilkan semua data di tabel tersebut lengkap beserta relasi nya di tabel2 lain yang membuat saya menggunakan select * bukan select (nama kolom) jadi query nya lebih kurang seperti ini :
$query = mysql_query("select *from tb_barang a, tb_pembelian b, tb_laen c dan laen lagi beserta where nya ");
untuk menampilkan semua data saya menggunakan
while($data = mysql_fetch_assoc($query))
{
$nm_pembeli = $data['nm_pembeli'];
$jumlah_beli = $data['jumlah_beli'];
$harga_beli = $data['harga_beli'];
//untuk mencari total harga tentunya cukup dengan $total_harga=$jumlah_beli*$harga_beli;
//variabel array yang menampung semua $total_harga
$totalbayar[]=$total_harga;
//lalu saya tampilkan
echo "<br>Nama Pembeli :$nm_pembeli";
echo "<br>Jumlah beli :$jumlah_beli";
echo "<br>Harga beli :$harga_beli";
echo "<br>Total Harga :$total_harga";
}
Permasalahannya timbul ketika saya ingin menampilkan total bayar saya kebingungan karena hasil total bayar didapat $total_harga, bagaimana caranya agar saya bisa menjumlahka $total_harga.
akhirnya, setelah saya berkeliling sama om google, tanya sana sini, saya mendapat referensi dari temen untuk kembali ke pangkuan ibu pertiwi eh salah ke PHP Manual heee...
yaitu menggunakan fungsi array_sum
lalu saya buat variabel array yang menampung semua $total_harga didalam while (yang hurufnya tebal) dan untuk menjumlahkannya, saya tinggal buat di luar pengulangan while
$totalbayar1 = array_sum($total_bayar);
echo " Total bayar : $total_bayar1;
//atau bisa juga dengan
echo "Total bayar = ". array_sum($total_bayar);
dan masalah pun akhirnya terpecahkan, berteriaklah saya "it's truuuuuueee.... Allhamdulillah".
tapi setelah berpikir lagi sepertinya ada solusi lain untuk permasalah saya tersebut seperti menggunakan query berikut :
$query = mysql_query("select harga_beli,jumlah_beli,SUM(harga_beli*jumlah_beli) as total_bayar from tb_pembelian")
tapi lagi, di karenakan tabel yang mau saya panggil lumayan banyak dan semua field di tabel2 tsb perlu ditampilkan semua, so lebih enak saya pake array_sum.
kan banyak jalan menuju roma...
selamat mencoba....
No comments:
Post a Comment