Senin, 28 Februari 2022

Codeigneter Paging Where

 Misal kita kerja pada halaman menu sbb:
http://localhost/apps/index.php/welcome/beritarb

Artinya...controller kerja kita ada di welcome.php

pada Construct tambahkan:

 $this->load->library("pagination");

$this->load->helper(array('url'));


berdasarkan link kerja di atas, beritarb adalah submenu yang dituju,,,

pada sub-bagian / method/ void welcome/beritarb tambahkan:

public function beritarb() {
$kat="Reformasi Birokrasi";
$jumlah_data = $this->berita_model->jumlah_data($kat);
$this->load->library('pagination');
$config['base_url'] = base_url().'index.php/welcome/beritarb';
$config['total_rows'] = $jumlah_data;
                
                $config['full_tag_open'] = '<div class="pagination">';
$config['full_tag_close'] = '</div>';

$config['per_page'] = 10; //artinya setiap kelipatan 10 akan pindah halaman
$from = $this->uri->segment(3);  //posisi path link
$this->pagination->initialize($config);
$data['listberita'] = $this->berita_model->AmbilData($config['per_page'],$from,$kat);
$this->load->view('beritarb',$data);

}

lalu pada berita_model tambahkan method (JumlahData(kategori) dan AmbilData(number,offset,kategori))

function AmbilData($number,$offset,$kategori){
return $this->db->get_where($this->_table, array('kategori' => $kategori), $number,$offset)->result();
}
 
function JumlahData($kategori){
return $this->db->get_where($this->_table, ["kategori" => $kategori])->num_rows();
}


lalu pada interface (beritarb.php) masukkan css:

<style type="text/css">
.pagination {
display: flex;
padding: 1em 0;
}

.pagination a,
.pagination strong {
border: 1px solid silver;
border-radius: 8px;
color: black;
padding: 0.5em;
margin-right: 0.5em;
text-decoration: none;
}

.pagination a:hover,
.pagination strong {
border: 1px solid #008cba;
background-color: #008cba;
color: white;
}
</style>



NB: bagi yang tanpa kategori:

function AmbilData($number,$offset){
return $this->db->get($this->_table, $number,$offset)->result();
}
 
function JumlahData(){
return $this->db->get($this->_table)->num_rows();
}






Tombol Online





<script language="JavaScript">
function buka(url) {window.open(url, 'window_baru', 'width=800,height=600,left=320,top=100,resizable=1,scrollbars=1');}
</script>


<link rel="stylesheet" type="text/css" href="assets/css/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="assets/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="assets/css/style.css">

<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.3/css/dataTables.bootstrap4.min.css">

<div class="col-md-12 grid-margin stretch-card">
    <div class="card">
     <div class="card-body">
        <h5 class="card-title"> Data Berita</h5><hr>
<div class="table-responsive pt-3">
   <table id="example" class="table table-hover table-bordered" style="width:100%">
<thead>
<tr bgcolor="#DCDCDC">
   <th width="2%">No</th>
   <th width="10%">Gambar</th>
   <th width="80%">Data Berita</th>
   <th width="8%">Menu</th>
</tr>
</thead>
<tbody>
<?php  
include "konmysqli.php";
$sql="SELECT * FROM `$tbberita` ORDER by `id_berita` asc";
$jum=getJum($conn,$sql);
if($jum > 0){
$no=1;
$arr=getData($conn,$sql);
foreach($arr as $d) {
$id_berita=$d["id_berita"];
$id_eskul=$d["id_eskul"];
$nama_eskul=getEskul($conn,$d["id_eskul"]);
$judul=ucwords($d["judul"]);
$deskripsi=$d["deskripsi"];
$tanggal=WKT($d["tanggal"]);
$jam=$d["jam"];
$status=$d["status"];
$gambar=$d["gambar"];
$keterangan=$d["keterangan"];

echo"<tr>
<td>$no</td>
<td><div align='center'>
<a href='#' onclick='buka(\"berita/zoom.php?id=$id_berita\")'><b>$nama_eskul</b>
<img src='$YPATH/$gambar' width='100' height='100' /></a>
</div></td>

<td><b>$judul ";
if($status=="Publish"){
  echo"<label class='badge badge-success'><small>$status</small></label>";
} else if($status=="UnPublish"){
  echo"<label class='badge badge-danger'><small>$status</small></label>";
}

echo"</td>
<td><div>
<a href='?mnu=berita&pro=ubah&kode=$id_berita'><i class='fa fa-edit bg-primary' title='edit'></i></a>
<a href='?mnu=berita&pro=hapus&kode=$id_berita&judul=$judul'><i class='fa fa-trash-o bg-danger'  title='hapus' onClick='return confirm(\"Apakah Anda benar-benar akan menghapus \"$judul\" pada data Berita?..\")'></i></a>
</div></td>
</tr>";
$no++;
}//for dalam
}//if
else{echo"<tr><td colspan='6'><blink>Maaf, Data belum tersedia...</blink></td></tr>";}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>   



<script type="text/javascript" src="assets/js/jquery/jquery.min.js "></script>
<script src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.11.3/js/dataTables.bootstrap4.min.js"></script>
<script>
$(document).ready(function() {
var table = $('#example').DataTable( {
fixedHeader: true
} );
} );
</script>

Minggu, 27 Februari 2022

PDO Extension 2022

 pdo_extension.php

<?php
$DBServer = 'localhost';
$DBUser   = 'root';
$DBPass   = '';
$DBName   = 'db_webinarcruds';
$conn = new PDO("mysql:host=$DBServer;dbname=$DBName", "$DBUser", "$DBPass");
function getData($conn,$sql){
$rs = $conn->query( $sql );  
while ( $row = $rs->fetch( PDO::FETCH_ASSOC ) ){  
    $ar[] =$row;
}  
return $ar;
}
?>

 latpdo.php

<?php
require_once"pdo_extension.php";
require_once"datatable.php";


?>
<h1>Koneksi Database PDO Extension</h1>
<table id="examplec" class="display" style="width:100%">
        <thead>
            <tr>
                <th>IDKat</th>
                <th>Nama Kategori</th>
                <th>Deskripsi</th>
                <th>Menu</th>
            </tr>
        </thead>
        <tbody>
<?php
$sql="select * from `tb_kategori`";
$arr=getData($conn,$sql);
foreach($arr as $d) {
$id_kategori=$d["id_kategori"];
$nama_kategori=$d["nama_kategori"];
$deskripsi=$d["deskripsi"];
$deskripsi = wordwrap($deskripsi, 100, "<br />"); 
echo "<tr>
                <td>$id_kategori</td>
                <td>$nama_kategori</td>
                <td><small>$deskripsi</small></td>
                <td>
<button type='button' class='btn btn-primary'>Ubah</button>
|
<button type='button' class='btn btn-primary'>Hapus</button>
</td>
            </tr> ";
}
?>
        </tbody>
        <tfoot>
            <tr>
                <th>IDKat</th>
                <th>Nama Kategori</th>
                <th>Deskripsi</th>
                <th>Menu</th>
            </tr>
        </tfoot>
    </table>

<?php 
function getJum($conn,$sql){
$rs = $conn->prepare( $sql ); 
$rs->execute();
return $rs->columnCount(); 
}
function getJum0($conn,$sql){
$rs = $conn->query( $sql ); 
return $rs->columnCount(); 
}
function getField($conn,$sql){
$rs = $conn->query($sql);  
    $d =  $rs->fetch( PDO::FETCH_ASSOC );  
return $d;
}
function process($conn,$sql){
$rs = $conn->prepare($sql ); 
$rs->execute(); 
return $rs;
}
function getKategori($conn,$kode){
$kolom="nama_kategori";
$sql="select `$kolom` from `tb_kategori` where `id_kategori`='$kode'";
$stmt = $conn->query($sql);  
   $d = $stmt->fetch(PDO::FETCH_OBJ );  
   return $d->$kolom;
}   
?>




datatable.php

<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
<script src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>
<script>
$(document).ready(function() {
    $('#examplec').DataTable();
} );
</script>
<link rel="stylesheet" href="https://cdn.datatables.net/1.11.3/css/jquery.dataTables.min.css">










Mysqli Extension 2022

mysqli_extension.php

 <?php
$DBServer = 'localhost';
$DBUser   = 'root';
$DBPass   = '';
$DBName   = 'db_webinarcruds';
$conn = new mysqli($DBServer, $DBUser, $DBPass, $DBName);
if ($conn->connect_error) {
  trigger_error('Database connection failed: '  . $conn->connect_error, E_USER_ERROR);
}
function getData($conn,$sql){
$rs = $conn->query($sql);
$arr=$rs->fetch_all(MYSQLI_ASSOC);
$rs->free_result();
return $arr;
}
?>

latmysqli.php

<?php
require_once"mysqli_extension.php";
require_once"datatable.php";

?>
<h1>Koneksi Database Mysqli Extension</h1>
<table id="examplec" class="display" style="width:100%">
        <thead>
            <tr>
                <th>IDKat</th>
                <th>Nama Kategori</th>
                <th>Deskripsi</th>
                <th>Menu</th>
            </tr>
        </thead>
        <tbody>
<?php
$sql="select * from `tb_kategori`";
$arr=getData($conn,$sql);
foreach($arr as $d) {
$id_kategori=$d["id_kategori"];
$nama_kategori=$d["nama_kategori"];
$deskripsi=$d["deskripsi"];
$deskripsi = wordwrap($deskripsi, 100, "<br />"); 
echo "<tr>
                <td>$id_kategori</td>
                <td>$nama_kategori</td>
                <td><small>$deskripsi</small></td>
                <td>
<button type='button' class='btn btn-primary'>Ubah</button>
|
<button type='button' class='btn btn-primary'>Hapus</button>
</td>
            </tr> ";
}
?>
        </tbody>
        <tfoot>
            <tr>
                <th>IDKat</th>
                <th>Nama Kategori</th>
                <th>Deskripsi</th>
                <th>Menu</th>
            </tr>
        </tfoot>
    </table>


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

function getField($conn,$sql){
$rs=$conn->query($sql);
$rs->data_seek(0);
$d= $rs->fetch_assoc();
$rs->free();
return $d;
}

function process($conn,$sql){
$s=false;
$conn->autocommit(FALSE);
try {
  $rs = $conn->query($sql);
  if($rs){
    $conn->commit();
    $last_inserted_id = $conn->insert_id;
  $affected_rows = $conn->affected_rows;
  $s=true;
  }

catch (Exception $e) {
echo 'fail: ' . $e->getMessage();
  $conn->rollback();
}
$conn->autocommit(TRUE);
return $s;
}

function getKategori($conn,$kode){
$field="nama_kategori";
$sql="SELECT `$field` FROM `tb_kategori` where `id_kategori`='$kode'";
$rs=$conn->query($sql);
$rs->data_seek(0);
$row = $rs->fetch_assoc();
$rs->free();
    return $row[$field];
}
?>

datatable.php
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
<script src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>
<script>
$(document).ready(function() {
    $('#examplec').DataTable();
} );
</script>
<link rel="stylesheet" href="https://cdn.datatables.net/1.11.3/css/jquery.dataTables.min.css">


Minggu, 20 Februari 2022

Fungsi Tanggal ke Hari

 


echo getDay("2022-02-22");


function getDay($tgl){

$nm= date('l', strtotime($tgl));

$hari="Minggu";

if($nm=="Monday"){$hari="Senin";}

else if($nm=="Tuesday"){$hari="Selasa";}

else if($nm=="Wednesday"){$hari="Rabu";}

else if($nm=="Thurstday"){$hari="Kamis";}

else if($nm=="Friday"){$hari="Jumat";}

else if($nm=="Saturday"){$hari="Sabtu";}

else if($nm=="Sunday"){$hari="Minggu";}

return $hari;

}








*Basic Code PHP Latihan di Rumah*


Implmntasi File Latihan dan Tutorial CRUD Web dan Database

https://drive.google.com/file/d/1cp2AYZOL8KrOEovSib5Ys-tp4lgVriV_/view?usp=sharing

 

Latihan 1/calculator PHP dan HTML

File latihan:https://drive.google.com/file/d/10a3pmBFm0gtGD_ziJHY0_Fpr6OvxNlnb/view?usp=sharing

Video:

https://drive.google.com/file/d/1Iqy2qzQMn8Q3N4OsBGz7ocCTdpvT2Qwt/view?usp=sharing

https://drive.google.com/file/d/1Iqy2qzQMn8Q3N4OsBGz7ocCTdpvT2Qwt/view?usp=sharing


Latihan 2/string pada PHP dan HTML

File latihan:

https://drive.google.com/file/d/1R8D6RjaGxTEsgU_SD0ExgqA0Jz55cdQJ/view?usp=sharing

Video:

https://drive.google.com/file/d/1Atxmwqqxnr1CmOwbrQKr17XlJLN06lkp/view?usp=sharing


Latihan 3:/ CRUDS Database1

File latihan:

https://drive.google.com/file/d/1ddQ1rYiuuHpbnv9NVCwN0e-PFWoYGsgI/view?usp=sharing

Video:

https://drive.google.com/file/d/1tmFRsIiXLqVu253gMf1VtLpFjNT7t2tc/view?usp=sharing


Latihan 4:/ CRUDS Database2

File latihan:

https://drive.google.com/file/d/11MKTwcclqTnV2VO9YEldBzIQlBaC7FHe/view?usp=sharing


Video:

https://drive.google.com/file/d/1ZQl0Zqa0F_Mgx6MMNp9-njUUAXPbQyle/view?usp=sharing

https://drive.google.com/file/d/1mfOvWQvMaWfI8sE2xiM4h0xCthBL9gfL/view?usp=sharing


Latihan 5: membuat Grafik

Video https://drive.google.com/file/d/1wIA7jMu3ouz_C9ih-LbKIvk23_O-wGC6/view?usp=sharing

Gunakan File latihan Latihan 4


Latihan 6: membuat Index

Video https://drive.google.com/file/d/1WktCPDhPx6tnPArtnwxB_APlESnox4vD/view?usp=sharing

Gunakan File latihan Latihan 4


Latihan 7: login session1

https://drive.google.com/file/d/14ArHlu7M_oeuf1PZB8BIwjR5Zh6aeBym/view?usp=sharing

login session lanjutan:

https://drive.google.com/file/d/1NNdYML8oNebf-NM-zukHZElkPeSh6lCN/view?usp=sharing


File Latihan:

baiknya buat database baru, lalu import database yg disertakan...

lalu nama database di file koneksi.php diubah sesuai nama database yang baru tsb

https://drive.google.com/file/d/1jksuvWq080Y8lax7lYSxBLFtQUUCYeGF/view?usp=sharing


Cara Impor database

https://drive.google.com/file/d/1vvJkOkrXuC2gmUtZWsGJEVHXnuKMWa-9/view?usp=sharing


Sabtu, 19 Februari 2022

Coretan CI

 // WHERE name = 'Joe' AND title = 'boss' AND status = 'active'


$this->db->where('name', $name);

$this->db->where('title', $title);

$this->db->where('status', $status);


$this->db->where('name !=', $name);

$this->db->where('id <', $id); // Produces: WHERE name != 'Joe' AND id < 45



$array = array('name' => $name, 'title' => $title, 'status' => $status);

$this->db->where($array);

// Produces: WHERE name = 'Joe' AND title = 'boss' AND status = 'active'


$array = array('name !=' => $name, 'id <' => $id, 'date >' => $date);

$this->db->where($array);


$where = "name='Joe' AND status='boss' OR status='active'";

$this->db->where($where);



$this->db->select('id_absensi');

$this->db->from('tb_absensi');

$where = "sessi='I' OR sessi='II' OR sessi='III' OR sessi='IV' OR sessi='V' OR sessi='VI' OR sessi='VII' OR sessi='VIII'";

$this->db->where($where);

echo $this->db->count_all_results();



++++++++++++++++


$where = array('username ' => $username , 'status ' => $status);

$this->db->where($where);


$this->db->where('username',$username);

$this->db->where('status',$status);



$this->db->select('*');

$this->db->from('Employees');

$this->db->like('Designation', 'Manager');

echo $this->db->count_all_results();



$this->db->select('id_absensi');

$this->db->from('tb_absensi');

$this->db->where('sessi','I');

$this->db->where('sessi','II');

$this->db->where('sessi','III');

$this->db->where('sessi','IV');

$this->db->where('sessi','V');

$this->db->where('sessi','VI');

$this->db->where('sessi','VII');

$this->db->where('sessi','VIII');

echo $this->db->count_all_results();





 public function add_register(){

        $exe = $this->tamu_model;

        $exe->saveregister();

$ar=$this->db->query("SELECT `id_tamu` FROM `tb_tamu` order by `id_tamu` desc")->row();

$id_tamu=$ar->id_tamu;

//================================

$exe = $this->kunjungan_model;

$exe->savekunjunganreg($id_tamu);

$this->load->view('register.php');

       // $this->load->view('indexuser.php');

    }

if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on')

$link = "https";

    else $link = "http";

    $link .= "://";

    $link .= $_SERVER['HTTP_HOST'];

    $link .= $_SERVER['REQUEST_URI'];

   

$ar=explode("index.php",$link);

$path= $ar[0]."index.php";

===============

controller

$nidn=$this->session->userdata('cid');

        $data["listpengampu"] = $this->pengampu_model->getBuilder("nidn",$nidn);

        $this->load->view("admin/matkul/listdosen", $data);

model

  public function getBuilder($field,$item)  {

        return $this->db->get_where($this->_table, ["$field" => $item])->result();

    }

pada view :

foreach ($listpengampu as $matkul): 

$id_matkul=$matkul->id_matkul;

$id_pengampu=$matkul->id_pengampu;

$hari=$matkul->hari;

$jam=$matkul->jam;

$nidn=$matkul->nidn;

$keteranganpengampu=$matkul->keterangan;

$exe = $this->matkul_model; 

$ar = $exe->getById($id_matkul);

$nama_matkul=$ar->nama_matkul;

$deskripsi=$ar->deskripsi;

$sks=$ar->sks;

$semester=$ar->semester;

$status=$ar->status;

$keterangan=$ar->keterangan; 

$keterangan=substr($keterangan, 0, 120);

=============================

controller

$data["listakademik"] = $this->akademik_model->getAktif();

model

public function getAktif()  {

      return $this->db->get_where($this->_table, ["status" => "Aktif"])->row();

    }

view

$id_akademik=$listakademik->id_akademik;

$nama_akademik=$listakademik->nama_akademik;

$deskripsi=$listakademik->deskripsi;

=============================


Session adalah data yang disimpan dalam suatu server yang dapat digunakan secara global di server tersebut, dimana data tersebut spesifik merujuk ke user/client tertentu.


Contoh penggunaan session adalah ketika user telah login di halaman tertentu, maka ketika membuka halaman lain, Web Server akan mengingat bahwa user tersebut telah login.


Contoh ketika kita telah login pada Google, maka setiap kali kita membuka layanan Google seperti GMail, Google Drive, dll di tab berbeda, kita akan selalu dalam keadaan login, kecuali kita buka dengan browser yang berbeda.


Contoh lain ketika web ecommerce merekam keranjang belanja user, maka ketika pindah ke halaman pembayaran, daftar belanja masih terekam



HttpSession session=request.getSession(false);  

        if(session!=null){  

        String name=(String)session.getAttribute("name");  

          

        out.print("Hello, "+name+" Welcome to Profile");  

        }  

        else{  

            out.print("Please login first");  

            request.getRequestDispatcher("login.html").include(request, response);  

        }  



HttpSession session=request.getSession();  

            session.invalidate();  

              

            out.print("You are successfully logged out!");  



Minggu, 13 Februari 2022

getData baru

 

terkadang sudah di hosting dan sudah diubah2 versi xampp online dar 5.4 sd 7.4 masih tidak muncul datanya padahal login,hapus, simpan, ubah data satuan bisa....maka gunakan  fungsi getData sbb:





 function getData($conn,$sql){

$ar=array();

if($result = mysqli_query($conn, $sql)){

if(mysqli_num_rows($result) > 0){

while($row = mysqli_fetch_array($result)){

  $ar[] =$row;

}

mysqli_free_result($result);

//mysqli_close($conn);

return $ar;

}



function getDatab($conn,$sql){

$result = $conn->query($sql);

$outp = array(); 

if ($result->num_rows > 0) { 

  while($row = $result->fetch_assoc()) {

    //echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";

$outp[]=$row;

  }

}  

//$conn->close();

return $outp;

}


yang lama


<?php

function process($conn,$sql){

$s=false;

$conn->autocommit(FALSE);

try {

  $rs = $conn->query($sql);

  if($rs){

    $conn->commit();

    $last_inserted_id = $conn->insert_id;

  $affected_rows = $conn->affected_rows;

  $s=true;

  }

catch (Exception $e) {

echo 'fail: ' . $e->getMessage();

  $conn->rollback();

}

$conn->autocommit(TRUE);

return $s;

}


function getJum($conn,$sql){

  $rs=$conn->query($sql);

  $jum= $rs->num_rows;

$rs->free();

return $jum;

}


function getField($conn,$sql){

$rs=$conn->query($sql);

$rs->data_seek(0);

$d= $rs->fetch_assoc();

$rs->free();

return $d;

}


$outp = array();    


 

function getData($conn,$sql){

/*

$rs=$conn->query($sql);

$rs->data_seek(0);

$arr = $rs->fetch_all(MYSQLI_ASSOC);

//foreach($arr as $row) {

//  echo $row['nama_kelas'] . '*<br>';

//}

$rs->free();

*/

$result = $conn->query($sql);

$outp = array();    


while ($row = $result->fetch_array(MYSQLI_ASSOC)) {

    $outp[] = $result->fetch_array(MYSQLI_ASSOC);

}


return $outp;

}

function getData2($conn,$sql){

$rs=$conn->query($sql);

$rs->data_seek(0);

$arr = $rs->fetch_all(MYSQLI_ASSOC);

//foreach($arr as $row) {

//  echo $row['nama_kelas'] . '*<br>';

//}

$rs->free();

return $arr;

}


function getAdmin($conn,$kode){

$field="nama_admin";

$sql="SELECT `$field` FROM `tb_admin` where `id_admin`='$kode'";

$rs=$conn->query($sql);

$rs->data_seek(0);

$row = $rs->fetch_assoc();

$rs->free();

    return $row[$field];

}

function getRM($conn,$kode){

$field="nama_ibuhamil";

$sql="SELECT `$field` FROM `tb_ibuhamil` where `id_rm`='$kode'";

$rs=$conn->query($sql);

$rs->data_seek(0);

$row = $rs->fetch_assoc();

$rs->free();

    return $row[$field];

}

function getID($conn,$kode){

$field="nama_ibuhamil";

$sql="SELECT `$field` FROM `tb_ibuhamil` where `id`='$kode'";

$rs=$conn->query($sql);

$rs->data_seek(0);

$row = $rs->fetch_assoc();

$rs->free();

    return $row[$field];

}

?>


Auto ENter:

$keterangan=$d["keterangan"];

$keterangan = wordwrap($keterangan, 20, "<br />"); 













Select Auto Search

 


<input list="browsers" name="id" value="<?php echo "$nama_ibuhamil";?>" class="form-control" <?php echo $read;?>>

<datalist id="browsers">

 <?php  

  echo"<option value='$nama_ibuhamil' ";echo">$nama_ibuhamil </option>";
  $sql="select * from `$tbibuhamil` ";
$arr=getData($conn,$sql);
foreach($arr as $d) {
$id0=$d["id"];
$id_rm0=$d["id_rm"];
$nama_ibuhamil=$d["nama_ibuhamil"];
echo"<option value='$nama_ibuhamil' ";if($id0==$id){echo"selected";} echo">$nama_ibuhamil ($id_rm0)</option>";
}
?>

</datalist>  





Bonus DataTable

<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
<script src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>

<script>
$(document).ready(function() {
    $('#examplec').DataTable();
} );
</script>

<link rel="stylesheet" href="https://cdn.datatables.net/1.11.3/css/jquery.dataTables.min.css">


<table id="examplec" class="display" style="width:100%">
        <thead>
            <tr>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Age</th>
                <th>Start date</th>
                <th>Salary</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Tiger Nixon</td>
                <td>System Architect</td>
                <td>Edinburgh</td>
                <td>61</td>
                <td>2011/04/25</td>
                <td>$320,800</td>
            </tr>
            <tr>
                <td>Garrett Winters</td>
                <td>Accountant</td>
                <td>Tokyo</td>
                <td>63</td>
                <td>2011/07/25</td>
                <td>$170,750</td>
            </tr>


 <tr>
                <td>Donna Snider</td>
                <td>Customer Support</td>
                <td>New York</td>
                <td>27</td>
                <td>2011/01/25</td>
                <td>$112,000</td>
            </tr>
        </tbody>
        <tfoot>
            <tr>
                <th>Name</th>
                <th>Position</th>
                <th>Office</th>
                <th>Age</th>
                <th>Start date</th>
                <th>Salary</th>
            </tr>
        </tfoot>
    </table>






Coretan Laravell

 https://developers.google.com/chart/interactive/docs/gallery/piechart


Reff: https://getbootstrap.com/docs/4.0/components/buttons/

https://getbootstrap.com/docs/4.0/components/dropdowns/

style='width: 50px;'


<button type="button" class="btn btn-primary">Primary</button>

<button type="button" class="btn btn-secondary">Secondary</button>

<button type="button" class="btn btn-success">Success</button>

<button type="button" class="btn btn-danger">Danger</button>

<button type="button" class="btn btn-warning">Warning</button>

<button type="button" class="btn btn-info">Info</button>

<button type="button" class="btn btn-light">Light</button>

<button type="button" class="btn btn-dark">Dark</button>


<button type="button" class="btn btn-link">Link</button>



{{ asset('images/'.$data->foto) }}

{{ route('peserta.create') }}

{{ route('peserta.edit', $data->id_peserta) }}

{{ route('peserta.destroy', $data->id_peserta) }}


@if (Auth::check() && 

  (Auth::user()->level == 'admin') || (Auth::user()->level == 'Admin'))

@if($sessi->status == 'Aktif')

checked

@endif   


sejajar model, buat helpers.php

pada composer.json:

,"files": [

   "app/helpers.php"

 ]

ketik di cli path:composer dump-autoload

  

pada app.php

return [

'name' => env('APP_NAME', 'Laravel'),

'periode' => env('APP_TA', 'Februari 2022'),

'init' => env('APP_CAMP', 'Tumbuh Kembang Anak Superkidz'),

'web' => env('APP_SITE', 'tka-superkidz.co.id'),

...];

{{ config('app.init') }}   

<?php

$listuser =  User::where('level', 'LIKE', "pasien")->get();


//https://drive.google.com/file/d/1oWBXdZTB4PdBMt8FX-3vWMJyj_L_yA5t/view?usp=sharing


//use Illuminate\Support\Facades\DB


//$id_ns = DB::select("select `id_ns` from `sessi` where `id_matkul` = '$id_matkul' and `sessi`='$sessi'");

//$results = DB::table('sessi')->where('id_matkul', '$id_matkul')->get();


 $ardata = Sessi::where('id_matkul', $id_matkul)->where('sessi', $sessi)->first();

 if($ardata)

   $id_ns=$ardata->id_ns;


echo $id_ns;



public function dindex(){

$id_dsn=Auth :: user()->id;

        $batas = 100;

        $sessi = Sessi::where('id', $id_dsn)->orderBy('id_ns', 'asc')->paginate($batas);

        $no = $batas * ($sessi->currentPage() - 1);

$sessi0 = Sessi::select('id_matkul')->where('id', $id_dsn)->distinct()->get();

        return view('admin.sessi.dindex', compact('sessi0','sessi', 'no'));    

    }

if (Auth::check() && (Auth::user()->level == 'Dosen') ){

        return redirect('/dsessi')->with('pesan', 'Data Pertemuan/Sessi '.$ke.' berhasil disimpan');

}

else{

return redirect('/sessi')->with('pesan', 'Data Pertemuan/Sessi '.$ke.' berhasil disimpan');

}

$result = User::where('columnName', 'LIKE', "%$value%")->get();


 $sessi->id   = Auth :: user()->id;

  Auth::user()->level

  Auth::user()->name 

//https://laravel.com/docs/8.x/queries

//aliases:

 'App' => Illuminate\Support\Facades\App::class,

 'DB' => Illuminate\Support\Facades\DB::class,

 'View' => Illuminate\Support\Facades\View::class,

 'Request' => Illuminate\Support\Facades\Request::class,

 'Route' => Illuminate\Support\Facades\Route::class,

 'Session' => Illuminate\Support\Facades\Session::class,

 'Image' => Intervention\Image\Facades\Image::class,



 //$ardata = Sessi::where('id_matkul', $id_matkul)->where('sessi', $sessi)->first();

 //if($ardata)

 //$id_ns0=$ardata->id_ns;


//$sql="SELECT `id_ns`  FROM `sessi` where `id_matkul`='$id_matkul' and `sessi`='$sessi'";

//$ardata= DB::select($sql);

//$mdata= json_decode( json_encode($ardata), true);

//var_dump($mdata);


$ardata = DB::table('sessi')->where([

    ['id_matkul', '=', $id_matkul],

    ['sessi', '=', $sessi],

])->get();//pluck('id_ns');//->first();//->get();


$id_ns0=1;

foreach ($ardata as $message) {

    $id_ns0= $message->id_ns;

}



$jumlah = Soal::where('id_ns', $id_ns0)->count();


$users = DB::table('users')->count();

 

$price = DB::table('orders')->max('price');


$users = DB::table('users')

                    ->where('votes', '>', 100)

                    ->orWhere('name', 'John')

                    ->get();

$users = DB::table('users')

            ->where('votes', '>', 100)

            ->orWhere(function($query) {

                $query->where('name', 'Abigail')

                      ->where('votes', '>', 50);

            })

            ->get();

select * from users where votes > 100 or (name = 'Abigail' and votes > 50)

$users = DB::table('users')->where([

    ['status', '=', '1'],

    ['subscribed', '<>', '1'],

])->get();

$users = DB::table('users')->where('votes', 100)->get();

$users = DB::table('users')

                ->where('votes', '>=', 100)

                ->get();

 

$users = DB::table('users')

                ->where('votes', '<>', 100)

                ->get();

 

$users = DB::table('users')

                ->where('name', 'like', 'T%')

                ->get();

$users = DB::table('users')

                ->where('votes', '=', 100)

                ->where('age', '>', 35)

                ->get();


$users = DB::table('users')

                ->orderBy('name', 'desc')

                ->orderBy('email', 'asc')

                ->get();


DB::table('usersa')->truncate();

$deleted = DB::table('usersa')->delete();

$deleted = DB::table('usersa')->where('votes', '>', 100)->delete();



//$matkul = Matkul::all();

//return view('welcome', compact('matkul'));  

//return view('home');

  

//---------------

//$users = DB::table('users')->distinct()->get();

//$kat="ekonomi";

//$matkul= DB::select("select * from `matkul`,`soal` where  `matkul`.`id_matkul`= `soal`.`id_matkul` and `matkul`.`nama_matkul` like '$kat'");

//return view('lat', ['matkul' => $matkul]);


  public function edit($id){

        $hasil = Hasil::find($id);

$listuser = User::all();

$listsessi = Sessi::all();

        return view('admin.hasil.edit', compact('hasil','listuser', 'listsessi'));

    }

//Model Soal

   public function sessis(){

        return $this->belongsTo('App\Sessi', 'id_ns', 'id_ns');

    }

//SoalController 

    public function index(){

        $batas = 4;

        $soal = Soal::orderBy('id_soal', 'desc')->paginate($batas);

        $no = $batas * ($soal->currentPage() - 1);

        return view('admin.soal.index', compact('soal', 'no'));    

    }

?>

<a href="{{ route('peserta.create') }}"></i> Tambah</a>

@foreach ($soal as $data)

<?php  

$soal=$data->soal;

$deskripsi=$data->deskripsi;

$jawaban=$data->jawaban;

$keterangan=$data->keterangan;


//===========

$sessiPelajaran=$data->sessis->sessi;


use App\Matkul;

$id_matkul=$data->sessis->id_matkul;

$list = Matkul::find($id_matkul);

$nama_matkul= $list->nama_matkul;

 ?>

        <tr>

            <td>{{ ++$no }}</td>

<td><img src="{{ asset('images/'.$data->foto) }}" alt="{{ asset('images/'.$data->foto) }}" style="width: 100px">

</td>

            <td>{{ $nama_matkul }}</td>

<td>{{ $data->id_mhs }}</td>

</tr>


<form action="{{ route('peserta.destroy', $data->id_peserta) }}" method="post">@csrf   

<a href="{{ route('peserta.edit', $data->id_peserta) }}">Edit</a>

<button  class="btn btn-danger" onClick="return confirm('Yakin mau dihapus?')">

<i class="fa fa-times"></i> Hapus</button>

</form>

@endforeach






Matkul model

<?php

  public function photos(){

       return $this->hasMany('App\Soal', 'id_matkul', 'id_matkul');

    }

  public function getMatkul(){

       return $this->belongsTo('App\Sessi', 'id_matkul', 'id_matkul');

    }

?>

HomeController

<?php

use App\Matkul;

public function index(){

$matkul = Matkul::all();

        return view('home', compact('matkul'));   

        //return view('home');

    }

?>

View home.php

 @foreach ($matkul as $data)

        <div class="col-md-4">

            <a href="{{ route('soal.foto', $data->link_matkul) }}">

            <img src="{{ asset('images/'.$data->gambar) }}" style="width:200px; height:150px">

            <p>

                <h5>{{ $data->nama_matkul }}</h5></a>

                ({{ $data->photos->count() }} Foto)

            </p>

        </div>

@endforeach



##############################################################################

In config/database.php

Change 'strict' => true To 'strict' => false and clear the cache

agar sql group by support



<?php

use Illuminate\Support\Facades\DB;

$users = DB::select('select * from soal');

foreach ($users as $user) {

    echo $user->soal."<br>";

}

//Model::select()->where()->distinct()->get() 

//Model::select()->where()->groupBy()->get() //etc....


//DB::insert('insert into users (id, name) values (?, ?)', [1, 'Marc']);

//$affected = DB::update('update users set votes = 100 where name = ?',['LP@M']);


//$deleted = DB::delete('delete from users');

//$results = DB::select('select * from users where id = :id', ['id' => 1])

//DB::statement('drop table users');


//$user = DB::table('users')->where('name', 'John')->first();

//return $user->email;

//$email = DB::table('users')->where('name', 'John')->value('email');

//$user = DB::table('users')->find(3);


//SINGLE COLUMN

//$titles = DB::table('users')->pluck('title');

//foreach ($titles as $title) {

  //  echo $title;

//}


//$titles = DB::table('users')->pluck('title', 'name');

//foreach ($titles as $name => $title) {

  //  echo $title;

//}


//CARA LAIN:

//DB::table('users')->orderBy('id')->chunk(100, function ($users) {

  //  foreach ($users as $user) {

        //

  //}});



//$users = DB::table('users')->count();

//$price = DB::table('orders')->max('price');

/*

if (DB::table('orders')->where('finalized', 1)->exists()) {

    // ...

}


if (DB::table('orders')->where('finalized', 1)->doesntExist()) {

    // ...

}

*/



/*

$users = DB::table('users')

            ->select('name', 'email as user_email')

            ->get();


$users = DB::table('users')->distinct()->get();


$users = DB::table('users')

             ->select(DB::raw('count(*) as user_count, status'))

             ->where('status', '<>', 1)

             ->groupBy('status')

             ->get();


$users = DB::table('users')

            ->join('contacts', 'users.id', '=', 'contacts.user_id')

            ->join('orders', 'users.id', '=', 'orders.user_id')

            ->select('users.*', 'contacts.phone', 'orders.price')

            ->get();

$users = DB::table('users')

            ->leftJoin('posts', 'users.id', '=', 'posts.user_id')

            ->get();


$users = DB::table('users')

            ->rightJoin('posts', 'users.id', '=', 'posts.user_id')

            ->get();


$sizes = DB::table('sizes')

            ->crossJoin('colors')

            ->get();


DB::table('users')

        ->join('contacts', function ($join) {

            $join->on('users.id', '=', 'contacts.user_id')->orOn(...);

        })

        ->get();


$latestPosts = DB::table('posts')

                   ->select('user_id', DB::raw('MAX(created_at) as last_post_created_at'))

                   ->where('is_published', true)

                   ->groupBy('user_id');


$users = DB::table('users')

        ->joinSub($latestPosts, 'latest_posts', function ($join) {

            $join->on('users.id', '=', 'latest_posts.user_id');

        })->get();


$first = DB::table('users')

            ->whereNull('first_name');


$users = DB::table('users')

            ->whereNull('last_name')

            ->union($first)

            ->get();


$users = DB::table('users')

                ->where('votes', '=', 100)

                ->where('age', '>', 35)

                ->get();


$users = DB::table('users')

                ->where('votes', '>=', 100)

                ->get();


$users = DB::table('users')

                ->where('votes', '<>', 100)

                ->get();


$users = DB::table('users')

                ->where('name', 'like', 'T%')

                ->get();

$users = DB::table('users')->where([

    ['status', '=', '1'],

    ['subscribed', '<>', '1'],

])->get();


$users = DB::table('users')

                    ->where('votes', '>', 100)

                    ->orWhere('name', 'John')

                    ->get();


$users = DB::table('users')

            ->where('votes', '>', 100)

            ->orWhere(function($query) {

                $query->where('name', 'Abigail')

                      ->where('votes', '>', 50);

            })

            ->get();

=select * from users where votes > 100 or (name = 'Abigail' and votes > 50)


$users = DB::table('users')

           ->whereBetween('votes', [1, 100])

           ->get();


$users = DB::table('users')

                    ->whereNotBetween('votes', [1, 100])

                    ->get();


$users = DB::table('users')

                    ->whereIn('id', [1, 2, 3])

                    ->get();

$users = DB::table('users')

                    ->whereNotIn('id', [1, 2, 3])

                    ->get();


$users = DB::table('users')

                ->whereNull('updated_at')

                ->get();


$users = DB::table('users')

                ->whereNotNull('updated_at')

                ->get();

$users = DB::table('users')

                ->whereDate('created_at', '2016-12-31')

                ->get();

$users = DB::table('users')

                ->whereMonth('created_at', '12')

                ->get();

$users = DB::table('users')

                ->whereDay('created_at', '31')

                ->get();

$users = DB::table('users')

                ->whereYear('created_at', '2016')

                ->get();

$users = DB::table('users')

                ->whereTime('created_at', '=', '11:20:45')

                ->get();

//EQUALS

$users = DB::table('users')

                ->whereColumn('first_name', 'last_name')

                ->get();

$users = DB::table('users')

                ->whereColumn('updated_at', '>', 'created_at')

                ->get();

$users = DB::table('users')

                ->whereColumn([

                    ['first_name', '=', 'last_name'],

                    ['updated_at', '>', 'created_at'],

                ])->get();

$users = DB::table('users')

           ->where('name', '=', 'John')

           ->where(function ($query) {

               $query->where('votes', '>', 100)

                     ->orWhere('title', '=', 'Admin');

           })

           ->get();

//select * from users where name = 'John' and (votes > 100 or title = 'Admin')


$users = DB::table('users')

                ->orderBy('name', 'desc')

                ->orderBy('email', 'asc')

                ->get();

$user = DB::table('users')

                ->latest()

                ->first();

$users = DB::table('users')

                ->groupBy('account_id')

                ->having('account_id', '>', 100)

                ->get();

$report = DB::table('orders')

                ->selectRaw('count(id) as number_of_orders, customer_id')

                ->groupBy('customer_id')

                ->havingBetween('number_of_orders', [5, 15])

                ->get();

$users = DB::table('users')

                ->groupBy('first_name', 'status')

                ->having('account_id', '>', 100)

                ->get();

$users = DB::table('users')

                ->offset(10)

                ->limit(5)

                ->get();



DB::table('users')->insert([

    'email' => 'kayla@example.com',

    'votes' => 0

]);


DB::table('users')->insert([

    ['email' => 'picard@example.com', 'votes' => 0],

    ['email' => 'janeway@example.com', 'votes' => 0],

]);


DB::table('users')->insertOrIgnore([

    ['id' => 1, 'email' => 'sisko@example.com'],

    ['id' => 2, 'email' => 'archer@example.com'],

]);

//AI

$id = DB::table('users')->insertGetId(

    ['email' => 'john@example.com', 'votes' => 0]

);

$affected = DB::table('users')

              ->where('id', 1)

              ->update(['votes' => 1]);

DB::table('users')

    ->updateOrInsert(

        ['email' => 'john@example.com', 'name' => 'John'],

        ['votes' => '2']

    );

DB::table('users')->increment('votes');


DB::table('users')->increment('votes', 5);


DB::table('users')->decrement('votes');


DB::table('users')->decrement('votes', 5);


DB::table('users')->delete();


DB::table('users')->where('votes', '>', 100)->delete();

//https://laravel.com/docs/8.x/queries

*/



?>





<?php


//$username=Session::get('key');


//https://laravel.com/docs/8.x/queries#aggregates


//https://blog.quickadminpanel.com/5-ways-to-use-raw-database-queries-in-laravel


/*


Selamat Datang {{ Auth::user()->level }} : {{ Auth::user()->name }}




@if (session('status'))


<div class="alert alert-succes s" role="alert">


{{ session('status') }}


</div>


@endif






@extends('layouts.app')




@section('content')


*/


function getOngkir($kode){ 


$rp=20000;


if($kode=="Luar Jabodetabek"){$rp=30000;}


return $rp;


}




function getKategori($kode){ 


$hasil=\App\Kategori::find($kode)->value('nama_kategori');//BEST


return $hasil;


}




function getNominalJual($kode){ 


$results = DB::table('penjualan')->select('id_pelanggan','total','wilayah')->where('id_penjualan','=', $kode)->first();


$pelanggan=getPelanggan2($results->id_pelanggan);


$total=RP($results->total);


$wilayah=$results->wilayah;


return "$pelanggan $wilayah ->".$total;


}


function getListJual($kode){ 


$sql= "SELECT `jdetail`.`id_barang`,`jdetail`.`jumlah`,`jdetail`.`subtotal`,`penjualan`.`ongkir` FROM `penjualan`,`jdetail` WHERE `penjualan`.`id_penjualan`=`jdetail`.`id_penjualan` and `penjualan`.`id_penjualan`= '$kode'";


    $results = DB::select($sql);


$gab="";


$total=0;


$ongkir=0;


foreach($results as $i){


$id_barang= $i->id_barang;


$jumlah= $i->jumlah;


$ongkir= $i->ongkir;


$subtotal= $i->subtotal;


$nb=getNamaBarang($id_barang);


$gab.="$nb ($jumlah),";


$total+=$subtotal;


}


$gab.="Total:".RP($total).",Ongkir:".RP($ongkir);


return $gab;


}




function getTotal($kode){ 


$sql= "SELECT `jdetail`.`subtotal`  FROM `penjualan`,`jdetail` WHERE `penjualan`.`id_penjualan`=`jdetail`.`id_penjualan` and `penjualan`.`id_penjualan`= '$kode'";


    $results = DB::select($sql);


$total=0;


foreach($results as $i){


$subtotal= $i->subtotal;


$total+=$subtotal;


}


return $total;


}




function getListMasuk($kode){ 


$sql= "SELECT `mdetail`.`id_barang`,`mdetail`.`jumlah`,`mdetail`.`subtotal` FROM `pemasukan`,`mdetail` WHERE `pemasukan`.`id_pemasukan`=`mdetail`.`id_pemasukan` and `pemasukan`.`id_pemasukan`= '$kode'";


    $results = DB::select($sql);


$gab="";


$total=0;


foreach($results as $i){


$id_barang= $i->id_barang;


$jumlah= $i->jumlah;


$subtotal= $i->subtotal;


$nb=getNamaBarang($id_barang);


$gab.="$nb ($jumlah),";


$total+=$subtotal;


}


$gab.="Total:".RP($total);


return $gab;


}




function getPelanggan($kode){ 


//$hasil=\App\Pelanggan::find($kode)->value('nama_pelanggan');//BEST



$results = DB::select('select `nama_pelanggan` from `pelanggan` where `id_pelanggan` = ?', [$kode]);


$hasil=$results[0]->nama_pelanggan;


return $hasil;




}


function getPelanggan2($kode){ 


$results = DB::select('select `nama_pelanggan` from `pelanggan` where `id_pelanggan` = ?', [$kode]);


$hasil=$results[0]->nama_pelanggan;


return $hasil;


}




function getNamaBarang($kode){ 


// $pesan = Pesan::orderBy('id_pesan', 'desc')->get();


//$mdetail = Mdetail::all()->where('id_pemasukan',$id); //One to Many


//ModelName::find(id)->value('column_name');


$hasil=\App\Barang::find($kode)->value('nama_barang');//BEST




//$results = DB::select('select `nama_barang`,`stok` from `barang` where `id_barang` = ?', [$kode]);


//$hasil=$results[0]->nama_barang;



//$sql= "SELECT `nama_barang` FROM `barang` WHERE `id_barang`= '".$kode."'";


    //$results = DB::select($sql);


//$hasil=$results[0]->nama_barang;



//$results = DB::table('barang')->select('nama_barang','stok')->where('id_barang', '=', $kode)->orderBy('id_barang','asc')->get();//ARRAY


//$hasil=$results[0]->nama_barang;


//foreach($results as $i){echo $i->user_id;}





//$results = DB::table('barang')->select('nama_barang')->where('id_barang','=', $kode)->first();


//$hasil=$results->nama_barang;



//$results = DB::table('barang')->select('nama_barang')->where('id_barang', $kode)->first();//first=return no array


//$hasil=$results->nama_barang;



//$hasil=DB::table('barang')->where('id_barang', $kode)->value('nama_barang');//L5


//$hasil=DB::table('barang')->where('id_barang', $kode)->pluck('nama_barang');//L4


//$hasil = DB::table('barang')->where('id_barang', $kode)->select('nama_barang')->pluck('nama_barang')->first();




//$hasil=DB::table('barang')->where('id_barang', $kode)->orderBy('id_barang', 'desc')->value('nama_barang');


//$hasil =\App\Barang::where('id_barang', $kode)->first()->nama_barang;


//$hasil = \App\Barang::where('id_barang',$kode)->value('nama_barang');




return $hasil;


}




//exe


//DB::statement('UPDATE users SET role_id = 1 WHERE role_id IS NULL AND YEAR(created_at) > 2020');


//DB::statement('DROP TABLE users');


//DB::statement('ALTER TABLE projects AUTO_INCREMENT=123');






//LIBRARY SQL //RAW


//\App\User::whereIn('mobile',['971700000', '965000000'])->select('id')->pluck('id')->all();




/*


$users = DB::table('users')


    ->selectRaw('count(*) as user_count, status')


    ->where('status', '<>', 1)


    ->groupBy('status')


    ->get();


$products = DB::table('products')


    ->leftjoin('category','category.product_id','=','products.id')


    ->selectRaw('COUNT(*) as nbr', 'products.*')


    ->groupBy('products.id')


    ->get();


$salaries = DB::table('salaries')


    ->selectRaw('companies.name as company_name, avg(salary) as avg_salary, count(*) as people_count')


    ->join('companies', 'salaries.company_id', '=', 'companies.id')


    ->groupBy('companies.id')


    ->orderByDesc('avg_salary')


    ->get();


$results = User::selectRaw('YEAR(birth_date) as year, COUNT(id) as amount')


    ->groupByRaw('YEAR(birth_date)')


    ->havingRaw('YEAR(birth_date) > 2000')


    ->orderByRaw('YEAR(birth_date)')


    ->get();


$products = Product::select('id', 'name')


    ->selectRaw('price - discount_price AS discount')


    ->get();




$users = DB::table('users')


    ->select('name', 'surname')  


    ->selectRaw("(CASE WHEN (gender = 1) THEN 'M' ELSE 'F' END) as gender_text")


    ->get();



*/








/*


https://laravel.com/docs/8.x/requests


use Illuminate\Http\Request;


public function store(Request $request){


$name = $request->input('name');


$uri = $request->path();


$url = $request->url();


$urlWithQueryString = $request->fullUrl();


$request->fullUrlWithQuery(['type' => 'phone']);


$method = $request->method();


if ($request->isMethod('post')) {}




$value = $request->header('X-Header-Name');


$value = $request->header('X-Header-Name', 'default');




if ($request->hasHeader('X-Header-Name')) {}


$token = $request->bearerToken();


$ipAddress = $request->ip();




$contentTypes = $request->getAcceptableContentTypes();






if ($request->accepts(['text/html', 'application/json'])) {}


$preferred = $request->prefers(['text/html', 'application/json']);




if ($request->expectsJson()) {}


$input = $request->all();


$input = $request->collect();


$request->collect('users')->each(function ($user) {});


$name = $request->input('name');


$name = $request->input('name', 'Sally');




$name = $request->input('products.0.name');


$names = $request->input('products.*.name');


$input = $request->input();


$name = $request->query('name');


$name = $request->query('name', 'Helen');


$query = $request->query();


$name = $request->input('user.name');



$archived = $request->boolean('archived');


$name = $request->name;



$input = $request->only(['username', 'password']);


$input = $request->only('username', 'password');


$input = $request->except(['credit_card']);


$input = $request->except('credit_card');




if ($request->has('name')) {}


if ($request->has(['name', 'email'])) {}


$request->whenHas('name', function ($input) {});




if ($request->hasAny(['name', 'email'])) {}


if ($request->filled('name')) {}


$request->whenFilled('name', function ($input) {});


if ($request->missing('name')) {}



$request->flash();


$request->flashOnly(['username', 'email']);


$request->flashExcept('password');




return redirect('form')->withInput();


return redirect()->route('user.create')->withInput();


return redirect('form')->withInput(


$request->except('password')


);




$username = $request->old('username');


<input type="text" name="username" value="{{ old('username') }}">


$value = $request->cookie('name');


$file = $request->file('photo');


$file = $request->photo;


if ($request->hasFile('photo')) {}



if ($request->file('photo')->isValid()) {}


$path = $request->photo->path();


$extension = $request->photo->extension();



$path = $request->photo->store('images');


$path = $request->photo->store('images', 's3');



$path = $request->photo->storeAs('images', 'filename.jpg');


$path = $request->photo->storeAs('images', 'filename.jpg', 's3');


https://laravel.com/docs/8.x/requests



}//public






*/





function RP($angka){ 


    $hasil =  number_format($angka,0, ',' , '.'); 


    return $hasil.";"; 


}


function terbilang($i){


  $huruf = array("", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas");


  


  if ($i < 12) return " " . $huruf[$i];


  elseif ($i < 20) return terbilang($i - 10) . " Belas";


  elseif ($i < 100) return terbilang($i / 10) . " Puluh" . terbilang($i % 10);


  elseif ($i < 200) return " Seratus" . terbilang($i - 100);


  elseif ($i < 1000) return terbilang($i / 100) . " Ratus" . terbilang($i % 100);


  elseif ($i < 2000) return " Seribu" . terbilang($i - 1000);


  elseif ($i < 1000000) return terbilang($i / 1000) . " Ribu" . terbilang($i % 1000);


  elseif ($i < 1000000000) return terbilang($i / 1000000) . " Juta" . terbilang($i % 1000000);    


}






?>








<?php function RP2($rupiah){return number_format($rupiah,"2",",",".");}?>


<?php


function WKT($sekarang){


if($sekarang=="0000-00-00"){$sekarang=date("Y-m-d");}




$tanggal = substr($sekarang,8,2)+0;


$bulan = substr($sekarang,5,2);


$tahun = substr($sekarang,0,4);




$judul_bln=array(1=> "Januari", "Februari", "Maret", "April", "Mei","Juni", "Juli", "Agustus", "September","Oktober", "November", "Desember");


$wk=$tanggal." ".$judul_bln[(int)$bulan]." ".$tahun;


return $wk;


}


?>


<?php


function WKTP($sekarang){


$tanggal = substr($sekarang,8,2)+0;


$bulan = substr($sekarang,5,2);


$tahun = substr($sekarang,2,2);




$judul_bln=array(1=> "Jan", "Feb", "Mar", "Apr", "Mei","Jun", "Jul", "Agu", "Sep","Okt", "Nov", "Des");


$wk=$tanggal." ".$judul_bln[(int)$bulan]."'".$tahun;


return $wk;


}


?>








<?php


function BAL($tanggal){


$arr=explode(" ",$tanggal);


if($arr[1]=="Januari"||$arr[1]=="January"){$bul="01";}


else if($arr[1]=="Februari"||$arr[1]=="February"){$bul="02";}


else if($arr[1]=="Maret"||$arr[1]=="March"){$bul="03";}


else if($arr[1]=="April"){$bul="04";}


else if($arr[1]=="Mei"||$arr[1]=="May"){$bul="05";}


else if($arr[1]=="Juni"||$arr[1]=="June"){$bul="06";}


else if($arr[1]=="Juli"||$arr[1]=="July"){$bul="07";}


else if($arr[1]=="Agustus"||$arr[1]=="August"){$bul="08";}


else if($arr[1]=="September"){$bul="09";}


else if($arr[1]=="Oktober"||$arr[1]=="October"){$bul="10";}


else if($arr[1]=="November"){$bul="11";}


else if($arr[1]=="Nopember"){$bul="11";}


else if($arr[1]=="Desember"||$arr[1]=="December"){$bul="12";}


return "$arr[2]-$bul-$arr[0]";


}


?>






<?php


function BALP($tanggal){


$arr=split(" ",$tanggal);


if($arr[1]=="Jan"){$bul="01";}


else if($arr[1]=="Feb"){$bul="02";}


else if($arr[1]=="Mar"){$bul="03";}


else if($arr[1]=="Apr"){$bul="04";}


else if($arr[1]=="Mei"){$bul="05";}


else if($arr[1]=="Jun"){$bul="06";}


else if($arr[1]=="Jul"){$bul="07";}


else if($arr[1]=="Agu"){$bul="08";}


else if($arr[1]=="Sep"){$bul="09";}


else if($arr[1]=="Okt"){$bul="10";}


else if($arr[1]=="Nov"){$bul="11";}


else if($arr[1]=="Nop"){$bul="11";}


else if($arr[1]=="Des"){$bul="12";}


return "$arr[2]-$bul-$arr[0]";


}


?>








Penjualan Controller




<?php


namespace App\Http\Controllers;


use Illuminate\Support\Facades\Session;


use Illuminate\Http\Request;


use Illuminate\Support\Str;


use App\Penjualan;


use App\Pelanggan;


use DB;


use Auth;


use File;




class PenjualanController extends Controller


{


    public function __construct(){


        $this->middleware('auth');


    }




    public function index(){


        $no = 0;


        $penjualan = Penjualan::orderBy('id_penjualan', 'desc')->get();


        return view('admin.penjualan.index', compact('penjualan', 'no')); 


}




    public function _index(){


$id_pelanggan=Auth::user()->rkey ;


        $no = 0;


       // $penjualan = Penjualan::orderBy('id_penjualan', 'desc')->get();




$penjualan = DB::select("select * from `pelanggan`,`penjualan` where `penjualan`.`id_pelanggan`='$id_pelanggan' and `penjualan`.`id_pelanggan`=`pelanggan`.`id_pelanggan` order by `penjualan`.`id_penjualan` desc");



return view('admin.penjualan._index', compact('penjualan', 'no')); 


}



    public function create(){


if(Auth::user()->level=="Pelanggan"){


return view('admin.penjualan._create');


}


else{


$pelanggan = Pelanggan::all();  


return view('admin.penjualan.create', compact('pelanggan'));


}



}




    public function store(Request $request){


        $this->validate($request,[


            'id_pelanggan'=>'required'


        ]);


        $penjualan = New Penjualan;


$wilayah=$request->wilayah;


        $penjualan->tanggal = date("Y-m-d");//$request->tanggal;


$penjualan->jam =  date("H:i:s");//$request->jam;


$penjualan->id_pelanggan = $request->id_pelanggan;


$penjualan->alamat_pengiriman = $request->alamat_pengiriman;


$penjualan->tagihan =0;// $request->tagihan;



$ongkir=getOngkir($wilayah);


$penjualan->ongkir =$ongkir;// $request->ongkir;


$penjualan->total = $ongkir;//$request->total;


$penjualan->status = $request->status;


$penjualan->keterangan = $request->keterangan;


$penjualan->wilayah = $wilayah;


        $penjualan->save();


        return redirect('/penjualan')->with('pesan', 'Data Penjualan berhasil disimpan');




    }


  public function _storeOrder(Request $request){


 


if(session()->has('IDORDER')){


$id_penjualan= Session::get('IDORDER');




$jdetail = New Jdetail;


$id_barang=$request->id_barang;


$jumlah = $request->jumlah;  



$barang = Barang::find($id_barang);


$harga=$barang->harga;


$nama_barang=$barang->nama_barang;



$jdetail->id_penjualan = $id_penjualan;


$jdetail->id_barang = $id_barang;


$jdetail->jumlah =$jumlah;


$jdetail->harga = $harga;


$jdetail->subtotal =$jumlah * $harga;


$jdetail->catatan = $request->catatan;


$jdetail->save(); 



$barang->stok = $barang->stok-$jumlah;


        $barang->update();



$penjualan = Penjualan::find($id_penjualan); 


$total=getTotal($id_penjualan);


$penjualan->tagihan =$total;


$penjualan->total =$penjualan->ongkir+$total;


$penjualan->update();



        return redirect('/jdetail/'.$id_penjualan)->with('pesan', "Data $nama_barang berhasil disimpan");



}


else{


        $penjualan = New Penjualan;


$wilayah=$request->wilayah;


        $penjualan->tanggal = date("Y-m-d");//$request->tanggal;


$penjualan->jam =  date("H:i:s");//$request->jam;


$penjualan->id_pelanggan = $id_pelanggan=Auth::user()->rkey ;


$penjualan->alamat_pengiriman = $request->alamat_pengiriman;


$penjualan->tagihan =0;



$ongkir=getOngkir($wilayah);


$penjualan->ongkir =$ongkir;// $request->ongkir;


$penjualan->total = $ongkir;//$request->total;


$penjualan->status = "Order";


$penjualan->keterangan = "-";


$penjualan->wilayah = $wilayah;


        $penjualan->save();



$ARR = Penjualan::all()->last();


$value=$ARR->id_penjualan;


session(['IDORDER' => $value]);


$id_penjualan=$value;



        //return redirect('/_penjualan')->with('pesan', 'Data Penjualan berhasil disimpan');



$jdetail = New Jdetail;


$id_barang=$request->id_barang;


$jumlah = $request->jumlah;  



$barang = Barang::find($id_barang);


$harga=$barang->harga;


$nama_barang=$barang->nama_barang;



$jdetail->id_penjualan = $id_penjualan;


$jdetail->id_barang = $id_barang;


$jdetail->jumlah =$jumlah;


$jdetail->harga = $harga;


$jdetail->subtotal =$jumlah * $harga;


$jdetail->catatan = $request->catatan;


$jdetail->save(); 



$barang->stok = $barang->stok-$jumlah;


        $barang->update();



$penjualan = Penjualan::find($id_penjualan); 


$total=getTotal($id_penjualan);


$penjualan->tagihan =$total;


$penjualan->total =$penjualan->ongkir+$total;


$penjualan->update();



        return redirect('/jdetail/'.$id_penjualan)->with('pesan', "Data $nama_barang berhasil disimpan");


 


}//else


    }





public function _store(Request $request){


        $penjualan = New Penjualan;


$wilayah=$request->wilayah;


        $penjualan->tanggal = date("Y-m-d");//$request->tanggal;


$penjualan->jam =  date("H:i:s");//$request->jam;


$penjualan->id_pelanggan = $id_pelanggan=Auth::user()->rkey ;


$penjualan->alamat_pengiriman = $request->alamat_pengiriman;


$penjualan->tagihan =0;



$ongkir=getOngkir($wilayah);


$penjualan->ongkir =$ongkir;// $request->ongkir;


$penjualan->total = $ongkir;//$request->total;


$penjualan->status = "Order";


$penjualan->keterangan = "-";


$penjualan->wilayah = $wilayah;


        $penjualan->save();


        return redirect('/_penjualan')->with('pesan', 'Data Penjualan berhasil disimpan');


    }




    public function edit($id_penjualan){


        $DaftarPelanggan = Pelanggan::all();


        $penjualan = Penjualan::find($id_penjualan);


        return view('admin.penjualan.edit', compact('penjualan','DaftarPelanggan'));


    }



public function _edit($id_penjualan){


        $DaftarPelanggan = Pelanggan::all();


        $penjualan = Penjualan::find($id_penjualan);


        return view('admin.penjualan._edit', compact('penjualan','DaftarPelanggan'));


    }





    public function update(Request $request, $id){


        $penjualan = Penjualan::find($id);


$penjualan->id_pelanggan = $request->id_pelanggan;


$penjualan->alamat_pengiriman = $request->alamat_pengiriman;



$wilayah=$request->wilayah;


$ongkir=getOngkir($wilayah);


$penjualan->ongkir =$ongkir;


$penjualan->total = $penjualan->tagihan+$ongkir;


$penjualan->wilayah = $wilayah;


$penjualan->status = $request->status;


    $penjualan->keterangan = $request->keterangan;


       


        $penjualan->update();


        return redirect('/penjualan')->with('pesan','Data Penjualan berhasil di update');


    }




public function _update(Request $request, $id){


        $penjualan = Penjualan::find($id); 


$penjualan->alamat_pengiriman = $request->alamat_pengiriman;



$wilayah=$request->wilayah;


$ongkir=getOngkir($wilayah);


$penjualan->ongkir =$ongkir;


$penjualan->total = $penjualan->tagihan+$ongkir;


$penjualan->wilayah = $wilayah; 


    $penjualan->keterangan = $request->keterangan;


       


        $penjualan->update();


        return redirect('/_penjualan')->with('pesan','Data Penjualan berhasil di update');


    }




    public function destroy($id){


        $penjualan = Penjualan::find($id);


        $penjualan->delete();



$ada=0;


$jdetail = \App\Jdetail::all()->where('id_penjualan',$id);


foreach($jdetail as $i){


$pk= $i->idj;


$Detail = \App\Jdetail::find($pk);


$id_barang= $i->id_barang;


$jumlahYgLama= $i->jumlah;


$barang = \App\Barang::find($id_barang);


$barang->stok = $barang->stok+$jumlahYgLama;


$barang->update();


$ada++;


$Detail->delete();


}




        return redirect('/penjualan')->with('pesan', "Data Penjualan berikut $ada Transaksi Detailnya Berhasil di Hapus");


    }




}





=================================

Jdetail Controller


<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\Session;

use Illuminate\Http\Request;

use Illuminate\Support\Str;

use App\Jdetail;

use App\Penjualan;

use App\Barang;

use File;

use DB ;

use Auth;


class JdetailController extends Controller

{

    public function __construct(){

        $this->middleware('auth');//auth

    }


//ModelName::findOrFail($id, ['firstName', 'lastName']); 

//ModelName::find($id, ['name', 'surname']);

//Table::select ('name', 'surname')->where ('id', 1)->get ().

//Eloquent: Get specific columns (not all the row). Pluck returns an array.

//Model::where('id', 1)->pluck('name', 'surname');

// If you only want to get the result value:

//Model::where('id', 1)->value('name');

/*

Model::where('id', 1)

     ->pluck('name', 'surname')

     ->all();

*/

//ModelName::all('column1', 'column2', 'column3');

//ModelName::find($id, ['name', 'surname']);  





    public function index($id){

        //$jdetail = Jdetail::all();

//$qry = 'SELECT * FROM `jdetail`,`barang` WHERE `jdetail`.`id_barang`=`barang`.`id_barang`  and `jdetail`.`id_penjualan` = "'.$id.'"';

        //$jdetail = DB::select($qry);

//Table('table')->select('name','surname')->where('id',1)->get();

//YourModelName::all('id', 'name')->where('id',1)->first()->column_name;

//$jdetail = Jdetail::all()->where('id_penjualan',$id);//->column_name;//find($id)->id_penjualan;

//$subtotal= Jdetail::all()->where('id_penjualan',$id)->sum('subtotal');//max,min,sum,avg,count

//return view('admin.jdetail.index', compact('jdetail','subtotal', 'no','penjualan'));   

$no = 0;

$total=0;

$penjualan = Penjualan::find($id);

$jdetail = Jdetail::all()->where('id_penjualan',$id);

        return view('admin.jdetail.index', compact('jdetail','total', 'no','penjualan'));    

    }

   public function _storeOrder(Request $request){

 

if(session()->has('IDORDER')){

$id_penjualan= Session::get('IDORDER');


$jdetail = New Jdetail;

$id_barang=$request->id_barang;

$jumlah = $request->jumlah;  

$barang = Barang::find($id_barang);

$harga=$barang->harga;

$nama_barang=$barang->nama_barang;

$jdetail->id_penjualan = $id_penjualan;

$jdetail->id_barang = $id_barang;

$jdetail->jumlah =$jumlah;

$jdetail->harga = $harga;

$jdetail->subtotal =$jumlah * $harga;

$jdetail->catatan = $request->catatan;

$jdetail->save(); 

$barang->stok = $barang->stok-$jumlah;

        $barang->update();

$penjualan = Penjualan::find($id_penjualan); 

$total=getTotal($id_penjualan);

$penjualan->tagihan =$total;

$penjualan->total =$penjualan->ongkir+$total;

$penjualan->update();

        return redirect('/jdetail/'.$id_penjualan)->with('pesan', "Data $nama_barang berhasil disimpan");

}

else{

        $penjualan = New Penjualan;

$wilayah="Jabodetabek";

        $penjualan->tanggal = date("Y-m-d");//$request->tanggal;

$penjualan->jam =  date("H:i:s");//$request->jam;

$penjualan->id_pelanggan = $id_pelanggan=Auth::user()->rkey ;

$penjualan->alamat_pengiriman = "";

$penjualan->tagihan =0;

$ongkir=getOngkir($wilayah);

$penjualan->ongkir =$ongkir;// $request->ongkir;

$penjualan->total = $ongkir;//$request->total;

$penjualan->status = "Order";

$penjualan->keterangan = "-";

$penjualan->wilayah = $wilayah;

        $penjualan->save();

$ARR = Penjualan::all()->last();

$value=$ARR->id_penjualan;

session(['IDORDER' => $value]);

$id_penjualan=$value;

        //return redirect('/_penjualan')->with('pesan', 'Data Penjualan berhasil disimpan');

$jdetail = New Jdetail;

$id_barang=$request->id_barang;

$jumlah = $request->jumlah;  

$barang = Barang::find($id_barang);

$harga=$barang->harga;

$nama_barang=$barang->nama_barang;

$jdetail->id_penjualan = $id_penjualan;

$jdetail->id_barang = $id_barang;

$jdetail->jumlah =$jumlah;

$jdetail->harga = $harga;

$jdetail->subtotal =$jumlah * $harga;

$jdetail->catatan = $request->catatan;

$jdetail->save(); 

$barang->stok = $barang->stok-$jumlah;

        $barang->update();

$penjualan = Penjualan::find($id_penjualan); 

$total=getTotal($id_penjualan);

$penjualan->tagihan =$total;

$penjualan->total =$penjualan->ongkir+$total;

$penjualan->update();

        return redirect('/jdetail/'.$id_penjualan)->with('pesan', "Data $nama_barang berhasil disimpan");

 

}//else

    }

 

    public function create($id){

$barang = Barang::all();

        $penjualan = Penjualan::find($id); 

        return view('admin.jdetail.create', compact('penjualan','barang'));

    }


    public function store(Request $request){

        $jdetail = New Jdetail;

$id_penjualan=$request->id_penjualan;

$id_penjualan=$id_penjualan;

$id_barang=$request->id_barang;

$jumlah = $request->jumlah; //Input::get('jumlah', false);

$barang = Barang::find($id_barang);

$harga=$barang->harga;

$nama_barang=$barang->nama_barang;

$jdetail->id_penjualan = $id_penjualan;

$jdetail->id_barang = $id_barang;

$jdetail->jumlah =$jumlah;

$jdetail->harga = $harga;

$jdetail->subtotal =$jumlah * $harga;

$jdetail->catatan = $request->catatan;

$jdetail->save();

$barang->stok = $barang->stok-$jumlah;

        $barang->update();

$penjualan = Penjualan::find($id_penjualan); 

$total=getTotal($id_penjualan);

$penjualan->tagihan =$total;

$penjualan->total =$penjualan->ongkir+$total;

$penjualan->update();

        return redirect('/jdetail/'.$id_penjualan)->with('pesan', "Data $nama_barang berhasil disimpan");

    }


    public function edit($id,$kode){

        $penjualan = Penjualan::find($id); 

        $jdetail = Jdetail::find($kode);

$barang = Barang::all();

        return view('admin.jdetail.edit', compact('jdetail','penjualan','barang'));

    }


    public function update(Request $request,$id,$kode){//Request $request,

$id_penjualan=$id;

$id_barang=$request->id_barang;

$jumlah = $request->jumlah;//3 8

$barang = Barang::find($id_barang);

$harga=$barang->harga;

$nama_barang=$barang->nama_barang;

$jdetail = Jdetail::find($kode);

$jumlahYgLama =$jdetail->jumlah;//8 3

$selisih=$jumlahYgLama-$jumlah;//8-3=5

$barang->stok = $barang->stok+$selisih;

$barang->update();

            $jdetail->id_penjualan = $id_penjualan;

$jdetail->id_barang = $id_barang;

$jdetail->jumlah = $jumlah;

$jdetail->harga = $harga;

$jdetail->subtotal =$jumlah * $harga;

$jdetail->catatan = $request->catatan;


        $jdetail->update();

$penjualan = Penjualan::find($id_penjualan); 

$total=getTotal($id_penjualan);

$penjualan->tagihan =$total;

$penjualan->total =$penjualan->ongkir+$total;

$penjualan->update();

        return redirect('/jdetail/'.$id_penjualan)->with('pesan',"Data $nama_barang Penjualan  berhasil di update");

    }


    public function destroy($id,$kode){

        $jdetail = Jdetail::find($kode);//findOrFail

$id_barang=$jdetail->id_barang;

$jumlahYgLama =$jdetail->jumlah;

        $jdetail->delete();

$barang = Barang::find($id_barang);

$barang->stok = $barang->stok+$jumlahYgLama;

        $barang->update();

        return redirect('/jdetail/'.$id)->with('pesan', 'Data Transaksi Berhasil di Hapus');

    }


}



?>

Mencari Tanggal Terakhir Suatu Bulan

  $a_date = "$tahun-$bulan-01"; $lastdate= date('t',strtotime($a_date));//Y-m-t <?php require_once"koneksivar.php&...