Postingan lainnya
Menampilkan satu data saja PHP
gan saya ada case mau nampilin supplier dari periode sekian sampe sekian tapi ketika didalam periode tersebut ada supplier yang sama ditampilin nya satu kali aja dan total akhir nya langsung tergabung nanti ketika detail nya baru bisa keliatan di tanngal berapa nya
cara nya giman y a gan?
<div class="col-xl-12">
<table class="table table-hover table-fixed">
<thead>
<tr style="font-size:10px; text-align: center">
<th>NO</th>
<th>SUPPLIER</th>
<th>ORDER</th>
<th>ACTION</th>
</tr>
</thead>
<i>
<b>Informasi : </b> Hasil pencarian data berdasarkan periode Tanggal <b><?php echo $_POST['tgl_awal']?></b> s/d <b><?php echo $_POST['tgl_akhir']?></b>
</i>
<?php
$no=0;
$sql = "SELECT * FROM tbl_purchase_order AS A
JOIN tbl_kontrak_proyek AS B ON B.id_proyek = A.id_proyek
JOIN tbl_jenis_po AS C ON C.id_jenis_po = A.id_jenis_po
JOIN tbl_jenis_payment AS D ON D.id_jenis_payment = A.id_jenis_payment
JOIN tbl_supplier AS E ON E.id_supplier = A.id_supplier
JOIN tbl_user AS F ON F.id_user = A.id_user WHERE A.tgl_po BETWEEN '$tgl_awal' AND '$tgl_akhir'
GROUP BY id_purchase_order
";
}
$qnews=$koneksi->query($sql);
$rownews=$qnews->fetch_array();
do{
$no++;
?>
<tbody>
<tr style="font-size:10px; text-align: center">
<td style="text-align:center;"><?php echo $no;?></td>
<td style="text-align:center;"><?php echo $rownews['nama_supplier'];?></td>
<td style="text-align:center;">Rp. <?php echo number_format ($rownews['total_po'],0,".",".");?></td>
<td style="text-align:center;">
<a href="report-purchase-order.php?id_purchase_order=<?php echo $rownews['id_purchase_order']; ?>" class="fa fa-edit fa-lg" title="Detail"></a>
</td>
</tbody>
<?php }while($rownews=$qnews->fetch_assoc()); ?>
<?php
$no=0;
$sql = "SELECT SUM(total_po) as total FROM tbl_purchase_order AS A
JOIN tbl_kontrak_proyek AS B ON B.id_proyek = A.id_proyek
JOIN tbl_jenis_po AS C ON C.id_jenis_po = A.id_jenis_po
JOIN tbl_jenis_payment AS D ON D.id_jenis_payment = A.id_jenis_payment
JOIN tbl_supplier AS E ON E.id_supplier = A.id_supplier
JOIN tbl_user AS F ON F.id_user = A.id_user WHERE A.tgl_po BETWEEN '$tgl_awal' AND '$tgl_akhir'
ORDER BY id_purchase_order";
$qnews=$koneksi->query($sql);
$rownews=$qnews->fetch_array();
?>
<tr style="font-size:15px;">
<td style="text-align:center;" colspan="3">Total</td>
<td style="text-align:center;">Rp. <?php echo number_format ($rownews['total'],0,".",".");?></td>
</tr>
</table>
</div>
14 Jawaban:
Kayanya yg di group by harusnya nama_supplier bukan id_purchase_order.
udah gan tapi total biaya nya ga nambah seharusnya kalo udh digabungin nambah dong
udah gini gan tapi malah nama supplier dll ga mncul tpi pas digabungin biayanya nambah
<pre> <table class="table table-hover table-fixed"> <thead> <tr style="font-size:10px; text-align: center"> <th>NO</th> <th>TANGGAL</th> <th>SUPPLIER</th> <th>JENIS PO</th> <th>PEMBAYARAN</th> <th>ORDER</th> <th>ACTION</th> </tr> </thead> <i> <b>Informasi : </b> Hasil pencarian data berdasarkan periode Tanggal <b><?php echo $_POST['tgl_awal']?></b> s/d <b><?php echo $_POST['tgl_akhir']?></b> </i> <?php $no=0; $sql = "SELECT SUM(total_po) as jmlh FROM tbl_purchase_order AS A INNER JOIN tbl_kontrak_proyek AS B ON B.id_proyek = A.id_proyek INNER JOIN tbl_jenis_po AS C ON C.id_jenis_po = A.id_jenis_po INNER JOIN tbl_jenis_payment AS D ON D.id_jenis_payment = A.id_jenis_payment INNER JOIN tbl_supplier AS E ON E.id_supplier = A.id_supplier INNER JOIN tbl_user AS F ON F.id_user = A.id_user WHERE A.tgl_po BETWEEN '$tgl_awal' AND '$tgl_akhir' GROUP BY nama_supplier"; } $qnews=$koneksi->query($sql); $rownews=$qnews->fetch_array(); do{ $no++; ?> <tbody> <tr style="font-size:10px; text-align: center"> <td style="text-align:center;"><?php echo $no;?></td> <td style="text-align:center;"><?php echo $rownews['tgl_po'];?></td> <td style="text-align:center;"><?php echo $rownews['nama_supplier'];?></td> <td style="text-align:center;"> <?php echo $rownews['nama_jenis_po'];?></td> <td style="text-align:center;"> <?php echo $rownews['nama_jenis_payment'];?></td> <td style="text-align:center;">Rp. <?php echo number_format ($rownews['jmlh'],0,".",".");?></td> <td style="text-align:center;"> <a href="detail-reporting-purchase-order.php?id_purchase_order=<?php echo $rownews['id_purchase_order']; ?>" class="fa fa-edit fa-lg" title="Detail"></a> </td> </tbody> <?php }while($rownews=$qnews->fetch_assoc()); ?><table class="table table-hover table-fixed"> <thead> <tr style="font-size:10px; text-align: center"> <th>NO</th> <th>TANGGAL</th> <th>SUPPLIER</th> <th>JENIS PO</th> <th>PEMBAYARAN</th> <th>ORDER</th> <th>ACTION</th> </tr> </thead> <i> <b>Informasi : </b> Hasil pencarian data berdasarkan periode Tanggal <b><?php echo $_POST['tgl_awal']?></b> s/d <b><?php echo $_POST['tgl_akhir']?></b> </i> <?php $no=0; $sql = "SELECT SUM(total_po) as jmlh FROM tbl_purchase_order AS A INNER JOIN tbl_kontrak_proyek AS B ON B.id_proyek = A.id_proyek INNER JOIN tbl_jenis_po AS C ON C.id_jenis_po = A.id_jenis_po INNER JOIN tbl_jenis_payment AS D ON D.id_jenis_payment = A.id_jenis_payment INNER JOIN tbl_supplier AS E ON E.id_supplier = A.id_supplier INNER JOIN tbl_user AS F ON F.id_user = A.id_user WHERE A.tgl_po BETWEEN '$tgl_awal' AND '$tgl_akhir' GROUP BY nama_supplier"; } $qnews=$koneksi->query($sql); $rownews=$qnews->fetch_array(); do{ $no++; ?> <tbody> <tr style="font-size:10px; text-align: center"> <td style="text-align:center;"><?php echo $no;?></td> <td style="text-align:center;"><?php echo $rownews['tgl_po'];?></td> <td style="text-align:center;"><?php echo $rownews['nama_supplier'];?></td> <td style="text-align:center;"> <?php echo $rownews['nama_jenis_po'];?></td> <td style="text-align:center;"> <?php echo $rownews['nama_jenis_payment'];?></td> <td style="text-align:center;">Rp. <?php echo number_format ($rownews['jmlh'],0,".",".");?></td> <td style="text-align:center;"> <a href="detail-reporting-purchase-order.php?id_purchase_order=<?php echo $rownews['id_purchase_order']; ?>" class="fa fa-edit fa-lg" title="Detail"></a> </td> </tbody> <?php }while($rownews=$qnews->fetch_assoc()); ?> </pre>
coba dirubah querynya amibo dari table suplier
<pre> "SELECT SUM(A.total_po) as total FROM tbl_supplier AS E JOIN tbl_purchase_order AS A ON A.id_supplier = E.id_supplier JOIN tbl_kontrak_proyek AS B ON B.id_proyek = A.id_proyek JOIN tbl_jenis_po AS C ON C.id_jenis_po = A.id_jenis_po JOIN tbl_jenis_payment AS D ON D.id_jenis_payment = A.id_jenis_payment JOIN tbl_user AS F ON F.id_user = A.id_user WHERE A.tgl_po BETWEEN '$tgl_awal' AND '$tgl_akhir' ORDER BY id_supplier"; </pre>
ada error ? coba di keluarkan arraynya
<pre> $rownews=$qnews->fetch_array();
//gunakan echo untuk mengeluarkan data echo $rownews; </pre>
Uncaught Error: Call to a member function fetch_array() on boolean in /Applications/MAMP/
kalau qrynya dikembalikan seperti semula lalu di echo, hasilnya seperti apa ?
Jawaban Terpilih
coba ini, untuk nama fields disesuaikan gan <pre> SELECT SUM(total_po) as total_po, E.nama_supplier, C.id_purchase_order FROM tbl_purchase_order AS A INNER JOIN tbl_kontrak_proyek AS B ON B.id_proyek = A.id_proyek INNER JOIN tbl_jenis_po AS C ON C.id_jenis_po = A.id_jenis_po INNER JOIN tbl_jenis_payment AS D ON D.id_jenis_payment = A.id_jenis_payment INNER JOIN tbl_supplier AS E ON E.id_supplier = A.id_supplier INNER JOIN tbl_user AS F ON F.id_user = A.id_user WHERE A.tgl_po BETWEEN '$tgl_awal' AND '$tgl_akhir' GROUP BY nama_supplier,id_purchase_order </pre>
wah mantap nih ada master @dianarifr
udah bisa gan gini jadinya thanks gan
<pre> "SELECT SUM(total_po) as total_po, E.nama_supplier, A.id_purchase_order, A.tgl_po, C.nama_jenis_po, D.nama_jenis_payment
FROM tbl_purchase_order AS A
INNER JOIN tbl_kontrak_proyek AS B ON B.id_proyek = A.id_proyek
INNER JOIN tbl_jenis_po AS C ON C.id_jenis_po = A.id_jenis_po
INNER JOIN tbl_jenis_payment AS D ON D.id_jenis_payment = A.id_jenis_payment
INNER JOIN tbl_supplier AS E ON E.id_supplier = A.id_supplier
INNER JOIN tbl_user AS F ON F.id_user = A.id_user WHERE A.tgl_po BETWEEN '$tgl_awal' AND '$tgl_akhir'
GROUP BY nama_supplier"; </pre>