Jumat, 15 Mei 2020

PHP Code To CSV

<?php
require_once"../koneksivar.php";
$conn = new mysqli($DBServer, $DBUser, $DBPass, $DBName);
if ($conn->connect_error) {
  trigger_error('Database connection failed: '  . $conn->connect_error, E_USER_ERROR);
}


  $buffer = "";
    $separator = ","; //, atau ;
    $newline = "\r\n";
       
    $buffer = "id_admin".$separator ."nama_admin".$separator ."telepon".$separator ."email".$separator ."status".$separator ;
    $buffer .= $newline;
   
  $sql="select `id_admin`,`nama_admin`,`telepon`,`email`,`status`  from `$tbadmin` order by `id_admin` desc";
  $jum=getJum($conn,$sql);
  if($jum>0){
  $arr=getData($conn,$sql);
  foreach($arr as $d) {
$value=$d["id_admin"];$buffer .= "\"".$value."\"".$separator;
$value=$d["nama_admin"];$buffer .= "\"".$value."\"".$separator;
$value=$d["telepon"];$buffer .= "\"".$value."\"".$separator;
$value=$d["email"];$buffer .= "\"".$value."\"".$separator;
$value=$d["status"];$buffer .= "\"".$value."\"".$separator;
$buffer .= $newline;
}
  }
  else{
    $buffer .= $newline;
  }
    header("Content-type: application/vnd.ms-excel");
    header("Content-Length: ".strlen($buffer));
    header("Content-Disposition: attachment; filename=report.csv");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
    header("Pragma: public");

    print $buffer;

/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

function getJum($conn,$sql){
  $rs=$conn->query($sql);
  $jum= $rs->num_rows;
$rs->free();
return $jum;
}

function getData($conn,$sql){
$rs=$conn->query($sql);
$rs->data_seek(0);
$arr = $rs->fetch_all(MYSQLI_ASSOC);
$rs->free();
return $arr;
}

?>


HASIL:

id_admin nama_admin telepon email status
ADM02 a a a Aktif
ADM01 sdada 0 asdasda Aktif

PHP Code To Excel

<?php
date_default_timezone_set("Asia/Jakarta");

require_once"koneksivar.php";


$conn = new mysqli($DBServer, $DBUser, $DBPass, $DBName);
if ($conn->connect_error) {
  trigger_error('Database connection failed: '  . $conn->connect_error, E_USER_ERROR);
}

$NT="tb_admin";
$PK="id_admin";
if(isset($_GET["tabel"])){
$NT=$_GET["tabel"];
$PK=$_GET["pk"];
}


?>
<!DOCTYPE html>
<html>
<head>
<title>Export Data Kuisioner - <?php echo $NT;?></title>
</head>
<body>
<style type="text/css">
body{
font-family: sans-serif;
}
table{
margin: 20px auto;
border-collapse: collapse;
}
table th,
table td{
border: 1px solid #3c3c3c;
padding: 3px 8px;

}
a{
background: blue;
color: #fff;
padding: 8px 10px;
text-decoration: none;
border-radius: 2px;
}
</style>

<?php
header("Content-type: application/vnd-ms-excel");
header("Content-Disposition: attachment; filename=$NT.xls");
?>

<center>
<h1> <?php echo strtoupper("Data Kuisioner Tracert Study ".$NT);?><br/>
https://www.upnvj.ac.id/id.html</h1>
</center>
<?php

$sql="select * from `".$NT."`";
$result = mysqli_query($conn,$sql);
$jc=mysqli_num_fields($result);


$gab="<table border='1'><tr><th>No</th>";
for($i=1;$i<$jc;$i++){
$colObj = mysqli_fetch_field_direct($result,$i);                           
$col= $colObj->name;
$ar[$i-1]=$col;
$gab.="<th>$col</th>";
}
$gab.="</tr>";

$sql="select * from `".$NT."` order by `".$PK."` asc";
  $jum=getJum($conn,$sql);
if($jum > 0){
$arr=getData($conn,$sql);
$no=1;
foreach($arr as $d) {
$gab.="<tr><td>$no</td>";
for($i=1;$i<$jc;$i++){
$v=$ar[$i-1];
$data=$d["$v"];
$gab.="<td>$data</td>";
}//for
$gab.="</tr>";
$no++;
}//foreach
}//jum
else{
$gab.="<tr colspan='$jc'>data belum tersedia</tr>";
}
$gab.="</table>";

echo $gab;
?>

</body>
</html>






Aplikasi FPGrowth Penentuan Posisi Barang


Langakh pertama tentukan nilai Supportd an Confident Kelayakan dari Transaksi yang Ada


echo"<H1>Perhitungan FPGrowth </h1>";

echo"Merupakan salah satu algoritma data mining.
Algoritma FPGrowth digunakan agar komputer dapat mempelajari aturan hubungan,
mencari pola relasi antar satu atau lebih item dalam suatu dataset (menggunakan konsep pembangunan tree dalam pencarian
frequent itemset).
<br>
Algoritma ini banyak digunakan pada data transaksi atau biasa disebut market basket,
misalnya sebuah swalayan memiliki market basket,
dengan adanya Algoritma FPGrowth, pemilik swalayan dapat mengetahui
pola pembelian seorang konsumen,
jika seorang konsumen membeli item A , B, punya kemungkinan 50% dia
akan membeli item C, pola ini sangat signifikan dengan adanya data transaksi selama ini.
<br><br>
Dalam Aturan FPGrowth, ada 2 poin untuk menghasilkan aturan yang tepat, yaitu Nilai Support dan Confident.
<b>Nilai Support (s)</b> merupakan persentase jumlah kasus untuk kombinasi item tertentu.
<img src='ypathfile/app1.png' width='300' height='180'>
Dimana X∪Y merupakan jumlah transaksi yang berisi X dan Y, sementara N merupakan total jumlah seluruh transaksi. Nilai support menjadi ukuran yang sangat penting dalam aturan asosiasi karena aturan yang sangat lemah nilai support-nya berarti asosiasi tersebut sangat jarang terjadi dalam dataset (seluruh data transaksi).
<br>
<b>Nilai Confident</b>
<img src='ypathfile/app2.png' width='300' height='180'>
Nilai Confident (c) merupakan persentase keakurasian dari Aturan FPGrowth yang dihasilkan.

<hr>";

$sql="select `tanggal` from `$tbpenjualan` order by `tanggal` asc limit 0,1";
$d=getField($conn,$sql);
$tanggal1=WKT($d["tanggal"]);
$tanggal2=WKT(date("Y-m-d"));

$SUP=0.2;
$CONF=50;
if(isset($_GET["pro"]) && $_GET["pro"]=="reset"){
  $_SESSION["chitung"]="";
  unset($_SESSION["chitung"]);
 
  $tanggal=date("Y-m-d");
  $jam=date("H:i:s");
  $sql="select `tanggal` from `$tbpenjualan` order by `tanggal` asc limit 0,1";
$d=getField($conn,$sql);
$tanggal1=WKT($d["tanggal"]);
$tanggal2=WKT(date("Y-m-d"));

$SUP=0.2;
$CONF=50;

}


if(isset($_POST["Hitung"]) || isset($_SESSION["chitung"])){

$time_start = microtime(true);
//usleep(100);

$SUP=$_POST["sup"];
$CONF=$_POST["conf"];
$tanggal1=$_POST["tanggal1"];
$tanggal2=$_POST["tanggal2"];
$_SESSION["chitung"]=true;
}

echo"<form action='' method='post'>";
echo"<table width='100%' border='1'>";
echo"<tr bgcolor='#ffff00'><td colspan='3'>Parameter Asosiasi</tr>";
echo"<tr><td>Batas Minimum Support<td>:<td><input type='text' name='sup' value='$SUP'> %</tr>";
echo"<tr><td>Batas Minimum Confident<td>:<td><input type='text' name='conf' value='$CONF'> %</tr>";
echo"<tr><td>Batas Tanggal<td>:<td>
<input type='text' name='tanggal1' value='$tanggal1' id='tanggal1'>
s/d
<input type='text' name='tanggal2' value='$tanggal2' id='tanggal2'>
</tr>";
echo"<tr><td colspan='3' align='right'>
<input type='submit' class='btn btn-success'  value='HITUNG / ANALISA FPGROWTH' name='Hitung'>
<a href='?mnu=forecasting&pro=reset'><input type='button' class='btn btn-danger'  value='RESET' name='RESET'></a>

</tr>";
echo"</table>";
echo"</form>";

if(isset($_POST["Hitung"]) || isset($_SESSION["chitung"])){
$SUP=$_POST["sup"];
$CONF=$_POST["conf"];
$TGL1=$_POST["tanggal1"];
$TGL2=$_POST["tanggal2"];
$tanggal1=BAL($TGL1);
$tanggal2=BAL($TGL2);

$sql="select distinct(id_penjualan) from `$tbpenjualan` where not id_penjualan=''  and `tanggal` between '$tanggal1' and '$tanggal2'  order by `id_penjualan` desc ";
$jum0=getJum($conn,$sql);
 

$gabx="<b>Informasi Transaksi  $TGL1 s/d $TGL2</b>";
$gabx.="<table width='100%' border='1'>";
$gabx.="<tr bgcolor='#ffff00'><td>No<td>Kode<td>List  Item</tr>";
$total=0;

$m=0;
  $jum0=getJum($conn,$sql);
if($jum0 <1){
echo"Maaf data Transaksi belum tersedia...<br>";
}
else{
$arr=getData($conn,$sql);
foreach($arr as $d) {
$clr="#dddddd";if($m%2==0){$clr="$eeeeee";}
$id_penjualan=$d["id_penjualan"];
$gab="$id_penjualan#";
$mlist="";
//$sqlg="select `id_barang` from `$tbpenjualan` where `id_penjualan`='$id_penjualan'";
$sqlg="select `id_barang`  from `$tbpenjualandetail` where `id_penjualan`='$id_penjualan'";
$arrg=getData($conn,$sqlg);
foreach($arrg as $dg) {
$id_barang=$dg["id_barang"];
$np=getBarang($conn,$id_barang);
$jd0=cekAda($gab,$id_barang);
if($jd0>0){$gab.="#";$mlist.="#";$clr="#fff00f";}

$gab.="$id_barang#";
$mlist.="$np ($id_barang),";
}
$gab=substr($gab,0,strlen($gab)-1);
$arG[$m]=$gab;
//echo $arG[$m]."<br>";
$m++;

$mlist=substr($mlist,0,strlen($mlist)-1);
$gabx.="<tr bgcolor='$clr'><td>$m<td>$id_penjualan<td>$mlist</tr>";
}//foreach
}//jum0
$gabx.="</table><br><br>";
echo $gabx;
//======================================================================
if( $jum0>0){
$record="<b>Perhitungan $jum0 Data Transaksi yang Terjadi Antara $TGL1 s/d $TGL2 <br>
Dengan Batas Ambang Support $SUP dan batas Ambang Confident $CONF adalah sebagai berikut</b><br>";
$_SESSION["cket"]="<b>Perhitungan dari $jum0 Data Transaksi yang Terjadi Antara $TGL1 s/d $TGL2</b> dengan Batas Ambang Support $SUP % dan batas Ambang Confident $CONF %";

$sqlg="select distinct(id_barang) from `$tbpenjualandetail`";
$arrg=getData($conn,$sqlg);
$n=0;

echo $record;

$gab="<b>Hasil Pembentukan FP-tree itemset I ( k=1)</b><br>
Transaksi dengan pembangkitan itemset k=1,
maka itemset yang dapat dibentuk beserta dengan jumlah kemunculan nya dalam seluruh transaksi sebagai berikut :<br>";
$gab.="<table width='60%' border='1'>";
$gab.="<tr bgcolor='#ffff00'><td>No<td>Kode<td>Nama Item<td>Jumlah<td>Support<td>Confident</tr>";
$total=0;
foreach($arrg as $dg) {
$id_barang=$dg["id_barang"];
$nm=getBarang($conn,$id_barang);
$jump=hitJumlah1($arG,$id_barang);
$support=($jump/$jum0)*100;
$support_="($jump/$jum0)x100";

$cc0="$id_barang";
$confident=($jump/$jump)*100; if($confident>100){$confident=100;}
if($support>=$SUP && $confident>=$CONF){
$cc=$id_barang;
$arP[$n]=$cc;
$arN[$n]=$nm;
$arJ[$n]=$jump;
$arS[$n]=$support;
$total+=$jump;

$ARI[$cc]=$jump;

$confident_="($jump/".$ARI[$arP[$n]].")x100";
$arC[$n]=$confident;
$no=$n+1;
$clr="#dddddd";if($no%2==0){$clr="$eeeeee";}
$gab.="<tr bgcolor='$clr'><td>$no<td>$id_barang<td>$nm<td>$jump
<td><label title='$support_'>$support</label>
<td><label title='$confident_'>$confident</label></tr>";
$n++;
}
}
$gab.="<tr bgcolor='#ff00f0'><td colspan='3'>
Total Transaksi<td colspan='3'  align='left'>$total</tr>";
$gab.="</table><br>";
echo $gab;


Halaman Proses:


Hasil:




Arsip:


Multi Grafik Multi Barang



PHP Lama Proses Microtime

<?php
   $time_start = microtime(true);
//usleep(100);
 
   $time_end = microtime(true);
   $time = $time_end - $time_start;
 
   echo "Did nothing in $time seconds\n";
?>


Implementasi pada code Simpan:


if(isset($_GET["pro"]) && $_GET["pro"]=="save"){

  $tanggal=date("Y-m-d");
  $nama_pengujian=$_SESSION["cid"]."-".date("Y-m-d H:i:s");
  $catatan=$_SESSION["cket"];
  $rekapitulasi=$_SESSION["chasil"];
  $durasi=$_SESSION["cdurasi"];
 
  $_SESSION["chitung"]="";
  unset($_SESSION["chitung"]);
  $_SESSION["cdurasi"]="";
  unset($_SESSION["cdurasi"]);
 
 
  $tanggal=date("Y-m-d");
  $jam=date("H:i:s");
 
$sql=" INSERT INTO `$tbhasil` (
`id_hasil` ,`nama_pengujian` ,
`tanggal` ,`jam` ,`keterangan` ,`durasi` ,
`rekapitulasi`
) VALUES (
'', '$nama_pengujian',
'$tanggal','$jam', '$catatan', '$durasi',
'$rekapitulasi'
)";

$simpan=process($conn,$sql);
if($simpan) {echo "<script>alert('Data $id_hasil berhasil disimpan !');document.location.href='?mnu=hasil';</script>";}
else{echo"<script>alert('Data $id_hasil gagal disimpan...');document.location.href='?mnu=hasil';</script>";}

}


Jumat, 08 Mei 2020

PHP Code generate QRCODE


$PNG_TEMP_DIR ='ypathfile/';
    include "qrlib.php";   
   
    if (!file_exists($PNG_TEMP_DIR))
        mkdir($PNG_TEMP_DIR);
   
    $NF=$id_peserta.'.png';
    $filename = $PNG_TEMP_DIR.$NF;
echo $filename;

    $errorCorrectionLevel = 'L';//'L','M','Q','H'
    $matrixPointSize = 10;

    QRcode::png($id_peserta, $filename, $errorCorrectionLevel, $matrixPointSize, 2); 


Download Library

Multi Grafik Pada Aplikasi



<?php
$tanggal=WKT(date("Y-m-d"));
$pro="simpan";
$gambar0="avatar.jpg";
$status="Aktif";
//$PATH="ypathcss";
?>
<link type="text/css" href="<?php echo "$PATH/base/";?>ui.all.css" rel="stylesheet" /> 
<script type="text/javascript" src="<?php echo "$PATH/";?>jquery-1.3.2.js"></script>
<script type="text/javascript" src="<?php echo "$PATH/";?>ui/ui.core.js"></script>
<script type="text/javascript" src="<?php echo "$PATH/";?>ui/ui.datepicker.js"></script>
<script type="text/javascript" src="<?php echo "$PATH/";?>ui/i18n/ui.datepicker-id.js"></script>
   
  <script type="text/javascript">
      $(document).ready(function(){
        $("#tanggal").datepicker({
dateFormat  : "dd MM yy",       
          changeMonth : true,
          changeYear  : true
        });
      });
    </script>   

<!-- Accordion -->
      <link rel="stylesheet" href="accordion/js_biasa/jquery-ui.css">
      <link rel="stylesheet" href="resources/demos/style.css">
      <script src="accordion/js_biasa/jquery-1.12.4.js"></script>
      <script src="accordion/js_biasa/jquery-ui.js"></script>
      <script>
  var index=1;
      $( function() {
        $( "#accordion" ).accordion({
          collapsible: true
        });
      } );
      </script>
  <!-- Accordion -->

<script type="text/javascript">
function PRINT(){
win=window.open('user/print.php','win','width=1000, height=400, menubar=0, scrollbars=1, resizable=0, location=0, toolbar=0, status=0'); }
</script>
<script language="JavaScript">
function buka(url) {window.open(url, 'window_baru', 'width=800,height=600,left=320,top=100,resizable=1,scrollbars=1');}
</script>
 <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

<div id="accordion">
<?php 
  $sql="select * from `$tbbarang` order by `id_barang` asc";
  $jum=getJum($conn,$sql);
if($jum <1){
echo"Maaf Data Belum Tersedia....";
}
$no=1;
$arr=getData($conn,$sql);
foreach($arr as $d) {
$id_barang=$d["id_barang"];
$nama_barang=$d["nama_barang"];
$deskripsi=$d["deskripsi"];
$kategori=$d["kategori"];
$gambar=$d["gambar"];
$gambar0=$d["gambar"];
                $status=$d["status"];
$keterangan=$d["keterangan"];
$harga=RP($d["harga"]);
$color="#F8F8FF";

echo"<h3>$no. Data Barang $nama_barang</h3><div>";
echo"<b>$nama_barang</b>";
echo"<table width='100%'>";
echo"<tr><td width='30%' valign='top'>
<div align='center'>";
echo"<a href='#' onclick='buka(\"barang/zoom.php?id=$id_barang\")'>
<img src='$YPATH/$gambar' width='120' height='120' title='date ke $no'/></a>
<br>
ID Barang: $id_barang<br>
Kategori: $kategori<br>
Harga: $harga
</div>";
$nom=0;
$mydata="";
  $sql="select sum(`jumlah`) as `total` from `$tbpenjualandetail` where id_barang='$id_barang' order by `id` asc";
  $d=getField($conn,$sql);
  $in=$d["total"];
  $mydata.="[$nom,$in],";
for($i=1;$i<20;$i++){
$nom=$i+1;
$mydata.="[$nom,".rand(1,10)."],";
}


echo"<td valign='top'>";
$mydata=substr($mydata,0,strlen($mydata)-1);
?>

     <script type="text/javascript">
      google.charts.load('current', {'packages':['line']});
      google.charts.setOnLoadCallback(drawChart);

    function drawChart() {
      var data = new google.visualization.DataTable();
      data.addColumn('number', 'Periode');
      data.addColumn('number', 'Penjualan');
 
      data.addRows([<?php echo $mydata;?>]);

      var options = {
        chart: {
          title: 'Grafik Perbandingan Data Forecasting',
          subtitle: 'Pemasukan Barang - Pengeluaran Barang'
        },
        width: 400,
        height: 300
      };

      var chart = new google.charts.Line(document.getElementById("curve_chart"+index));
chart.draw(data, google.charts.Line.convertOptions(options));
index=index+1;
}

   </script>
    <div id="curve_chart<?php echo $no;?>" style="width: 400px; height: 300px"></div>
<?php

echo "</td></tr>";
echo"</table><br>";
echo"</div>";
$no++;
}//foreach
?>
</div>




PHP Css Size Text Field

Bagaimana membuat agar ukuran textfield bisa di ubah ubah...jadi tidak terkunci melulu oleh CSS yang sudah ada misal spt berikut:



Kodenya adalah sbb:
<input type='text' value='0' name='jum$i' style='width: 50px;'>
atau
<input type="text" style="font-size:18pt;height:420px;width:200px;">

ATAU LEBIH LENGKAP KESELURUHAN CODE ONE TO MANY nya sbb:

<?php
$pro="simpan";
$tanggal=WKT(date("Y-m-d"));
?>
<link type="text/css" href="<?php echo "$PATH/base/";?>ui.all.css" rel="stylesheet" /> 
<script type="text/javascript" src="<?php echo "$PATH/";?>jquery-1.3.2.js"></script>
<script type="text/javascript" src="<?php echo "$PATH/";?>ui/ui.core.js"></script>
<script type="text/javascript" src="<?php echo "$PATH/";?>ui/ui.datepicker.js"></script>
<script type="text/javascript" src="<?php echo "$PATH/";?>ui/i18n/ui.datepicker-id.js"></script>
 
  <script type="text/javascript">
      $(document).ready(function(){
        $("#tanggal").datepicker({
dateFormat  : "dd MM yy",     
          changeMonth : true,
          changeYear  : true
        });
      });
    </script>
 
  <link rel="stylesheet" href="accordion/js_biasa/jquery-ui.css">
      <link rel="stylesheet" href="resources/demos/style.css">
      <script src="accordion/js_biasa/jquery-1.12.4.js"></script>
      <script src="accordion/js_biasa/jquery-ui.js"></script>
      <script>
      $( function() {
        $( "#accordion" ).accordion({
          collapsible: true
        });
      } );
      </script>

<script type="text/javascript">
function PRINT(tgl){
win=window.open('penjualan/print.php?tgl='+tgl,'win','width=1000, height=400, menubar=0, scrollbars=1, resizable=0, location=0, toolbar=0, status=0'); }
</script>
<script language="JavaScript">
function buka(url) {window.open(url, 'window_baru', 'width=800,height=600,left=320,top=100,resizable=1,scrollbars=1');}
</script>

<?php
$keterangan="";

 $sql="select `id_penjualan` from `$tbpenjualan` order by `id_penjualan` desc";
$q=mysqli_query($conn, $sql);
  $jum=mysqli_num_rows($q);
  $th=date("y");
  $bl=date("m")+0;if($bl<10){$bl="0".$bl;}

  $kd="PJL".$th.$bl;//KEG1610001
  if($jum > 0){
   $d=mysqli_fetch_array($q);
   $id_penjualanax=$d["id_penjualan"];
 
   $bul=substr($id_penjualanax,5,2);
   $tah=substr($id_penjualanax,3,2);
    if($bul==$bl && $tah==$th){
     $urut=substr($id_penjualanax,7,3)+1;
     if($urut<10){$id_penjualanax="$kd"."00".$urut;}
     else if($urut<100){$id_penjualanax="$kd"."0".$urut;}
     else{$id_penjualanax="$kd".$urut;}
    }//==
    else{
     $id_penjualanax="$kd"."001";
     } 
   }//jum>0
  else{$id_penjualanax="$kd"."001";}
  $id_penjualan=$id_penjualanax;
?>

<div id="accordion">
  <h3>Input Data Invoice</h3>
  <div>
<!-- Accordion -->

<form action="" method="post" enctype="multipart/form-data">
<table class="table table-hover">


<tr>
<th width="66"><label for="id_penjualan">ID Masuk</label>
<th width="9">:
<th colspan="2">
<input name="id_penjualan" class="form-control" type="text" id="id_penjualan" value="<?php echo $id_penjualan;?>" size="15"/>

</tr>

<tr>
<td><label for="tanggal">Tanggal</label>
<td>:
<td colspan="2">
<input name="tanggal" class="form-control" type="text" id="tanggal" value="<?php echo $tanggal;?>" size="30" />
</td>
</tr>

<tr>
<td height="24"><label for="id_prosuk">Pilih Batik</label>
<td>:<td colspan="2" valign='top'>


<table class="table table-bordered table-striped table-hover">
  <tr bgcolor="#CCCCCC">
    <th width="3%">No</th>
    <th width="30%">Nama</th>
<th width="20%">Kategori</th>
<th width="10%">Harga</th>
<th width="5%">Jumlah</th>
<th width="15%">Catatan</th>
    <th width="5%">Pilih</th>
  </tr>
<?php


  $sql="select * from `$tbbarang` order by `id_barang` asc";
  $jum=getJum($conn,$sql);
if($jum > 0){
$no=1;
$arr=getData($conn,$sql);
foreach($arr as $d) {
$i=$no-1;

$id_barang=$d["id_barang"];
$nama_barang=$d["nama_barang"];
$deskripsi=$d["deskripsi"];
$kategori=$d["kategori"];
$harga0=($d["harga"]);
$harga=RP($d["harga"]);
$gambar=$d["gambar"];
                $status=$d["status"];

$color="#dddddd";
if($no %2==0){$color="#eeeeee";}

echo"<input type='hidden' value='$id_barang' name='idp$i'>";

echo"<tr bgcolor='$color'>
<td>$no</td>
<td>$nama_barang ($id_barang)</td>
<td>$kategori</td>
<td>$harga</td>
<td><input type='text' value='0' name='jum$i' style='width: 50px;'>
<input type='hidden' value='$harga0' name='hrg$i'>
</td>
<td><input type='text' value='' name='cat$i'></td>
<td align='center'>
<input type='checkbox' value='1' name='pil$i'>
</tr>";

$no++;
}//while
}//if
else{echo"<tr><td colspan='7'><blink>Maaf, Data produk belum tersedia...</blink></td></tr>";}
?>
</table>


</td>
</tr>
<tr>
<td height="24"><label for="keterangan">Keterangan</label>
<td>:<td width="331"><textarea class="form-control" name="keterangan" style='width: 700px;' cols="100" type="text" id="keterangan"><?php echo $keterangan;?> </textarea></td>
</tr>

<tr>
<td>
<td>
<td colspan="2">
<input name="Simpan" type="submit" class="btn btn-success" id="Simpan" value="Simpan" />
        <input name="pro" type="hidden" id="pro" value="<?php echo $pro;?>" />
<input name="i" type="hidden" id="i" value="<?php echo $i;?>" />
         <input name="id_penjualan0" type="hidden" id="id_penjualan0" value="<?php echo $id_penjualan0;?>" />
        <a href="?mnu=penjualan"><input name="Batal" class="btn btn-danger" type="button" id="Batal" value="Batal" /></a>
</td></tr>
</table>
</form>

</div>
<?php 
$sqlc="select distinct(tanggal) from `$tbpenjualan` order by `tanggal` asc";
$arrc=getData($conn,$sqlc);
foreach($arrc as $dc) {
$tanggal=$dc["tanggal"];
?>
  <h3>Data Pemasukan Barang <?php echo WKT($tanggal);?></h3>
  <div>
<br />
<!-- Accordion -->

Data Penjualan Barang  <?php echo WKT($tanggal);?>:
<img src='ypathicon/print.png' title='PRINT' OnClick="PRINT('<?php echo $tanggal;?>')">
<br>

<table class="table table-bordered table-striped table-hover">
  <tr bgcolor="#CCCCCC">
    <th width="3%">No</th>
    <th width="10%">ID_INVOICE</th>
<th width="70%">List Barang</th>
<th width="10%">Menu</th>
  </tr>
<?php


  $sql="select distinct(id_penjualan) from `$tbpenjualan` where tanggal='$tanggal' order by `id_penjualan` desc ";
  $jum=getJum($conn,$sql);
if($jum > 0){
$no=1;
$arr=getData($conn,$sql);
foreach($arr as $d) {
$id_penjualan=$d["id_penjualan"];
$gab="<ol>";

$sqlg="select * from `$tbpenjualandetail` where `id_penjualan`='$id_penjualan'";
$arrg=getData($conn,$sqlg);
foreach($arrg as $dg) {
$id_barang=$dg["id_barang"];
$np=getBarang($conn,$id_barang);
$jumlah=$dg["jumlah"];
$catatan=$dg["catatan"];
$subtotal=RP($dg["subtotal"]);
$gab.="<li>$np ($id_barang) : $jumlah item Rp. $subtotal $catatan</li>";
}
$gab.="</ol>";

$color="#dddddd";
if($no %2==0){$color="#eeeeee";}
echo"<tr bgcolor='$color'>
<td>$no</td>
<td>$id_penjualan</td>
<td>$gab</td>
<td align='center'>
<a href='?mnu=penjualan&pro=hapus&kode=$id_penjualan'><img src='ypathicon/h.png' alt='hapus'
onClick='return confirm(\"Apakah Anda benar-benar akan menghapus $id_penjualan pada data penjualan ?..\")'></a></td>
</tr>";

$no++;
}//while
}//if
else{echo"<tr><td colspan='7'><blink>Maaf, Data penjualan belum tersedia...</blink></td></tr>";}
?>
</table>

</div>
<?php } ?>
</div>
</div>
</body>
<!-- Accordion -->

<?php
if(isset($_POST["Simpan"])){
$jum=strip_tags($_POST["i"]);
$id_penjualan=strip_tags($_POST["id_penjualan"]);
$tanggal=BAL($_POST["tanggal"]);
$keterangan=strip_tags($_POST["keterangan"]);

$sql="delete from `$tbpenjualan` where `id_penjualan`='$id_penjualan'";
$hapus=process($conn,$sql);
$sql="delete from `$tbpenjualandetail` where `id_penjualan`='$id_penjualan'";
$hapus=process($conn,$sql);


$ada=0;
for($i=0;$i<=$jum;$i++){
$id_barang=strip_tags($_POST["idp$i"]);
$jumlah=strip_tags($_POST["jum$i"]);
$harga=strip_tags($_POST["hrg$i"]);
$pil=strip_tags($_POST["pil$i"]);
$catatan=strip_tags($_POST["cat$i"]);

if($pil==1 && isset($_POST["pil$i"]) && $jumlah>0){
$subtotal=$harga * $jumlah;
$ada++;
$sql=" INSERT INTO `$tbpenjualandetail` (
`id` ,
`id_penjualan` ,
`id_barang` ,
`jumlah` ,
`subtotal` ,
`catatan`
) VALUES (
'',
'$id_penjualan',
'$id_barang',
'$jumlah',
'$subtotal',
'$catatan'
)";
$simpan=process($conn,$sql);

}//isset
}//for

if($ada>0){
$sql=" INSERT INTO `$tbpenjualan` (
`id_penjualan` ,
`tanggal` ,
`keterangan`
) VALUES (
'$id_penjualan',
'$tanggal',
'$keterangan'
)";

$simpan=process($conn,$sql);
if($simpan) {echo "<script>alert('Data $id_penjualan berhasil disimpan !');document.location.href='?mnu=penjualan';</script>";}
else{echo"<script>alert('Data $id_penjualan gagal disimpan...');document.location.href='?mnu=penjualan';</script>";}
}
else{
echo"<script>alert('Silakan Lengkapi Data Anda DenganItem yang dipilih berikut Jumlahnya...');document.location.href='?mnu=penjualan';</script>";
}
}
?>

<?php
if($_GET["pro"]=="hapus"){
$id_penjualan=$_GET["kode"];
$sql="delete from `$tbpenjualan` where `id_penjualan`='$id_penjualan'";
$hapus=process($conn,$sql);

$sql="delete from `$tbpenjualandetail` where `id_penjualan`='$id_penjualan'";
$hapus=process($conn,$sql);

if($hapus) {echo "<script>alert('Data penjualan $id_penjualan berhasil dihapus !');document.location.href='?mnu=penjualan';</script>";}
else{echo"<script>alert('Data penjualan $id_penjualan gagal dihapus...');document.location.href='?mnu=penjualan';</script>";}
}
?>




<textarea style="height:120px; color: #ffffff;background-color:#222222;"
name="pertanyaan" required class="form-control" id="pertanyaan"/><?php echo $pertanyaan;?></textarea></td>


















Sweet Alert

Download library weetalert.min.js, letakkan dalam satu folder sejajar index !  https://drive.google.com/drive/folders/1uXhLjQv998HlVhtzObOPC...