Pencarian

Jumat, 30 Januari 2009

Menjumlahkan Array di PHP


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 ");
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";
}
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".
Kode Lengkapnya :
$query = mysql_query("select *from tb_barang a, tb_pembelian b, tb_laen c dan laen lagi beserta where nya ");
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;
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....

19 komentar:

  1. makasih banyak mas.....saya juga lagi kebingungan masalah ini :D

    BalasHapus
  2. Waaaaaaaaaaaaaaaaahhhhh, 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

    BalasHapus
  3. Yapz, sama-sama, semoga bermanfaat.. thanks udah nyasar ke sini.. hehee....

    BalasHapus
  4. bro, kok ane ngga bisa tes..$total_bayar ngga di kenal minta source lengkapnya dong bro

    BalasHapus
  5. wah 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

    BalasHapus
  6. mas bro, kalo mau men total nilai yg berbentuk array dari beberapa record gimana ya?

    BalasHapus
  7. waduh, thank's bgt master. permasalahan ane kelar dah.. udah 3 hari muter2 google.
    bersyukur bgt udah nyangkut di blog nya masbro..
    makasihbnyak om :D
    sukses ya..

    BalasHapus
    Balasan
    1. kalo aq satu hari mas bisa, dapet langsung koding, tapi agak muter2 sih hehehe

      Hapus
  8. wah luar bisa mas, artikelnya mantap ga kebayang deh :-)

    BalasHapus
  9. boss kalo muncul seperti ini bagaimana ya?
    Fatal error: Call to undefined function aray_sum()

    BalasHapus
  10. harusnya kan array_sum(); 'r' nya kurang satu :D

    BalasHapus
  11. $totalbayar1 = array_sum($total_bayar);

    echo " Total bayar : $total_bayar1;

    bos kutipan diatas kayaknya salah yach variabel total bayarnya ada dua yach?

    BalasHapus
  12. terimakasih banyak gan, akhirnya work juga.
    2 jempol buat tutorial nya gan. :D

    BalasHapus
  13. Terimakasih mas, saya coba dulu yah.

    BalasHapus
  14. terimakasih master...
    akhirnya selesai juga tugasnya :)
    sekali lagi terimakasih master (Y) (Y)

    BalasHapus
  15. kalau untuk menjumlahkan 3 sampai 5 waktu bagaimana ya?

    BalasHapus