Tuesday, July 23, 2013

Menjumlahkan Array di PHP untuk penjualan

Fungsi untuk menjumlahkan array di php
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