Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Klik link berikut untuk informasi cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

[ASK] coding exsel diubah menjadi coding PHP

dear all mohon dibantu masukannya untuk memebrikan masukan atau saran.
saya punya masalah seperti berikut:
bentuk exselan :


setelah saya ubah kedalam PHP


berikut CODING yang saya gunakan


mohon masukan dan saranya : saya ingin jumlah/TOTAL yang di exselan bisa sama dengan di PHP
terima kasih sebelumnya :smile:


<?php
if(isset($_POST['btpencarian'])){ //$sql="SELECT * FROM `tbpenjualan` WHERE kd_item ='$_POST[item]' and tahun ='$_POST[tahun]'";
$sql = "SELECT `no_penjualan`, `kd_item`,`bulan`,`tahun`,`jumlah`,`NIK`, (SELECT ROUND(SUM(`jumlah`)/3) FROM tbpenjualan WHERE `no_penjualan` < a.`no_penjualan` AND `no_penjualan` > a.`no_penjualan` - 4) AS forecast, (SELECT jumlah - forecast) As eror, (SELECT jumlah - forecast /3 ) As MAE, (SELECT eror * eror ) As MSE FROM tbpenjualan a where kd_item ='$_POST[item]'";
$stmt = $db->prepare($sql);
$stmt->execute();
function format_ribuan ($nilai){
return number_format ($nilai, + 0, ',', '.');//format untuk titik dan koma di ruapaiahkan
}
// Ubah hasil query menjadi associative array dan simpan kedalam variabel result
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
$subtotal_plg = $subtotal_thn = $total = 0;
foreach ($result as $key => $row)
{
$subtotal_thn += $row['forecast'];
$subtotal_plg += $row['jumlah'];
$subtotal_eror += $row['eror'];
$subtotal_mae += $row['MAE'];
$subtotal_mse += $row['MSE'];
$no ++;?>
<?php echo $no; ?>
<?php echo $row['bulan']?>" size="1" maxlength="">  
<?php echo $row['tahun']; ?>" size="1" maxlength=""> <?php echo $row['kd_item']; ?>

" size="1" maxlength="">
<?php echo format_ribuan($row['jumlah']); ?>
" size="1">
 

<?php echo format_ribuan($row['forecast']); ?>
" size="1" maxlength="">
 
<?php echo format_ribuan($row['eror']); ?>" size="1" maxlength="">
<?php echo format_ribuan($row['MAE']); ?>" size="1" maxlength=""> <?php echo format_ribuan($row['MSE']); ?>" size="1" maxlength="">
<?php } }?>

Comments

  • masalahnya apa? kodingannya lancar aja tuh? Datanya kali yg beda.. di excel lu, forecast bln FEB & MARET kosong, hasil dari query lu, kok jadi ada?
  • edited January 2017
    nah ia bener itu yang jadi masalah saya saya mau buat kaya gini :

    jadi yang lingkaran merah itu harsunya "0"
    tapi saya bingung cara buatnya bagaimana biar bisa 0 , mohon masukan atau ada cara lain selain dengan query terima kasih.

    hasil dari query lu, kok jadi ada?#itu pengaruh ROUND(SUM(`jumlah`)/3) sepertinya soalnya saya ud tdk ada ide lain dari rumus tersebut

    jadi untuk forcet dan eror itu bukan nilai imputan tapi itu hasil rumus dari query , yng imputan itu hanya bulan, tahun dan aktual

  • gw kurang paham sama kondisi yg ini "WHERE `no_penjualan` < a.`no_penjualan` AND `no_penjualan` > a.`no_penjualan` - 4"..
    coba di sederhanakan deh..
    WHERE `no_penjualan` between a.`no_penjualan` AND (a.`no_penjualan` - 4);
  • edited January 2017
    berikut hasilnya :http://imgur.com/a/U4W3p

    jadi untuk bisa di ROUND SUM secara berurt itu saya patokan di no_penjualan, jadi biar dia itu bisa dijumlahan sebanyak 3x secara berulang (jan+feb+mar),(feb+mar+apr) dst.

    berikut tampilan awal saya sebelum saya masukan coding yang diatas :http://imgur.com/a/U4W3p


    saya agak bingung cara membuat untuk hasil feb dan mar itu bisa jadi 0 biar sama persis dengan tampilan di exsel.




  • wah.. gw gk ngerti lah kalo hitungan bisnisnya gmn.. ROUND(SUM(`jumlah`)/3 coba pake "ROUND(avg(jumlah))"...
  • bisa mas dia sama dengan yang rumusa saya sebelumnya
  • trus gimana ? dah solved ?
  • edited January 2017
    belum mas . dia masih tetap seperti yang sebelumnya

    mohon dibantu mas saya kmren coba cari solusi lain dengan cara Grand Total = Sum(min(no_penjualan)+3
    tatpi masih gagal


    ini coding saya yang sudah run dari hasil spt gambar

    saya bingung mau nambah coding :
    SELECT MIN(`no_penjualan`)+3 as `no_penjualan` from tbpenjualan
    ini posisinya di mana biar nanti
    hasil akirnya itu yang di sum hanya Apr sd Des aja

    mohon koreksinya
  • bisa share data table nya? biar gw coba dulu. :D
  • SELECT `no_penjualan`,`NIK`, `kd_item`,`bulan`,`tahun`,`jumlah`, (SELECT ROUND(AVG(`jumlah`)) FROM tbpenjualan WHERE `no_penjualan` < a.`no_penjualan` AND `no_penjualan` > a.`no_penjualan` - 4) AS forecast, (SELECT jumlah - forecast) As eror, (SELECT jumlah - forecast /3 ) As MAE, (SELECT eror * eror ) As MSE FROM tbpenjualan a where kd_item ='v5'

    UNION ALL

    SELECT "" AS no_penjualan,
    "" AS NIK,
    "" AS kd_item,
    "" AS bulan,
    "Grand Total" as tahun,
    SUM(`jumlah`) AS jumlah,
    SUM('forecast') AS forecast,
    SUM('eror') as eror,
    sum('MAE')as MAE,
    sum('MSE') as MSE
    FROM tbpenjualan

  • SET @row_number:=0;
    SELECT @row_number:=@row_number+1 AS row_number,`no_penjualan`, `kd_item`,`bulan`,`tahun`,`jumlah`,`NIK`,
    case when @row_number>;2 then (SELECT ROUND(SUM(`jumlah`)/3) FROM tbpenjualan WHERE `no_penjualan` < a.`no_penjualan` AND `no_penjualan` > a.`no_penjualan` - 4) else NULL END AS forecast, (SELECT jumlah - forecast) As eror, (SELECT jumlah - forecast /3 ) As MAE, (SELECT eror * eror ) As MSE FROM tbpenjualan a where kd_item ='$_POST[item]'
  • terima kasih mas masukannya . . hehe saya coba dulu
Sign In or Register to comment.