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.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

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 } }?>

Tanggapan

  • 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 16
    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 16
    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 18
    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.