Fungsi untuk menjumlahkan array di php
untuk menjumlahkan data yang terdapat didalam array caranya mudah
contohnya :
$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 ");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...
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" Nama Pembeli :$nm_pembeli";
echo" Jumlah beli :$jumlah_beli";
echo" Harga beli :$harga_beli";
echo" Total Harga :$total_harga";
}
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".
Kode Lengkapnya :
$query = mysql_query("select *from tb_barang a, tb_pembelian b, tb_laen c dan laen lagi beserta where nya ");tapi setelah berpikir lagi sepertinya ada solusi lain untuk permasalah saya tersebut seperti menggunakan query berikut :
while($data = mysql_fetch_assoc($query)){
$nm_pembeli = $data['nm_pembeli'];
$jumlah_beli = $data['jumlah_beli'];
$harga_beli = $data['harga_beli'];
$totalbayar[]=$total_harga;
echo" Nama Pembeli :$nm_pembeli";
echo" Jumlah beli :$jumlah_beli";
echo" Harga beli :$harga_beli";
echo" Total Harga :$total_harga";
}
$totalbayar1 = array_sum($total_bayar);
echo " Total bayar : $total_bayar1;
$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....
makasih banyak mas.....saya juga lagi kebingungan masalah ini :D
BalasHapussama2 :D
BalasHapusWaaaaaaaaaaaaaaaaahhhhh, makasih banyak bosss,.. Ane tadi kebingungan juga masalah ini, dari semalem nyari gak ketemu2,.. Tapi alhamdulillah sekarang udah ketemu biz baca2 artikel boss,.. Thank's yaaaa,...:D
BalasHapusYapz, sama-sama, semoga bermanfaat.. thanks udah nyasar ke sini.. hehee....
BalasHapusbro, kok ane ngga bisa tes..$total_bayar ngga di kenal minta source lengkapnya dong bro
BalasHapuswah maaf, source lengkapnya tntang array_sum nggak ada krn itu waktu bantu2 program tugas akhir temen, yg jelas jika ingin menjumlahkan array, kamu bisa menggunakan fungsi array_sum :D
BalasHapusmas bro, kalo mau men total nilai yg berbentuk array dari beberapa record gimana ya?
BalasHapuskurang jelas mas
BalasHapuswaduh, thank's bgt master. permasalahan ane kelar dah.. udah 3 hari muter2 google.
BalasHapusbersyukur bgt udah nyangkut di blog nya masbro..
makasihbnyak om :D
sukses ya..
kalo aq satu hari mas bisa, dapet langsung koding, tapi agak muter2 sih hehehe
Hapuswah luar bisa mas, artikelnya mantap ga kebayang deh :-)
BalasHapusboss kalo muncul seperti ini bagaimana ya?
BalasHapusFatal error: Call to undefined function aray_sum()
harusnya kan array_sum(); 'r' nya kurang satu :D
BalasHapus$totalbayar1 = array_sum($total_bayar);
BalasHapusecho " Total bayar : $total_bayar1;
bos kutipan diatas kayaknya salah yach variabel total bayarnya ada dua yach?
terimakasih banyak gan, akhirnya work juga.
BalasHapus2 jempol buat tutorial nya gan. :D
riet anjing
BalasHapusTerimakasih mas, saya coba dulu yah.
BalasHapusterimakasih master...
BalasHapusakhirnya selesai juga tugasnya :)
sekali lagi terimakasih master (Y) (Y)
kalau untuk menjumlahkan 3 sampai 5 waktu bagaimana ya?
BalasHapus