Monday, August 1, 2022

Membuat CRUD Database Dengan Laravel - IV [ Delete ]


Buka FormController kemudian pada bagian destroy() ubah kode seperti dibawah.

public function destroy($id)

{

    $siswa = Siswa::find($id);

    if($siswa->delete()) {

        return redirect()->route('form.index')->with('message', 'Berhasil menghapus data siswa');

    } else {

        return redirect()->route('form.index')->with('message', 'Gagal menghapus data siswa');

    }

}

Kemudian jika ingin menghapus data siswa tertentu, klik Delete yang ada di tabel Daftar Data Siswa yang sudah dibuat sebelumnya, jika terhapus maka data akan hilang dari tabel dan akan menampilkan pesan Berhasil menghapus data siswa.



Membuat CRUD Database Dengan Laravel - III [ Update ]


1. Buka file FormController di bagian edit() kemudian buatkan method tersebut 

public function edit($id)

{

    $siswa = Siswa::find($id);

    return view('edit', compact('siswa'));

}


2. Buat file  edit.php di dalam folder resources/views kemudian isikan seperti dibawah.

@extends('layout')

@section('content')

<h1 style="text-align: center">Update Data</h1>

@if(session()->has('message'))

    <p>{{ session()->get('message') }}</p>

@endif

<form action="{{ route('form.update', $siswa->id) }}" method="POST">

    <input type="hidden" name="_token" value="{{ csrf_token() }}">

    <input type="hidden" name="_method" value="put">

    <div class="group">

        <label for="nis">NIS</label>

        <input type="number" id="nis" name="nis" value="{{ $siswa->nis }}">

        @if($errors->has('nis'))

            <small class="error">{{ $errors->first('nis') }}</small>

        @endif

    </div>

    <div class="group">

        <label for="nama">Nama</label>

        <input type="text" id="name" name="nama" value="{{ $siswa->nama }}">

        @if($errors->has('nama'))

            <small class="error">{{ $errors->first('nama') }}</small>

        @endif

    </div>

    <div class="group">

        <a href="{{ route('form.index') }}">Batal</a>

        <button class="save">Simpan</button>

    </div>

</form>

@endsection


3. Update  method update() yang ada difile FormController kemudian ubah menjadi seperti ini :

public function update(Request $request, $id)

{

    $request->validate([

        'nis' => 'required|numeric|digits_between:1,50|unique:siswas,nis,'. $id .',id',

        'nama' => 'required|string|min:1|max:100'

    ]);


    $siswa = Siswa::find($id);

    $siswa->nis = $request->nis;

    $siswa->nama = $request->nama;


    if($siswa->save()) {

        return redirect()->route('form.index')->with('message', 'Berhasil update data siswa');

    } else {

        return redirect()->back()->with('message', 'Gagal update data siswa');

    }

}

Setelah itu jika ingin mengubah data siswa,  klik Edit kemudian isikan data yang ingin update tersebut. Jika berhasil maka anda akan diarahkan ke halaman index dengan pesan Berhasil update data siswa. 


Membuat CRUD Database Dengan Laravel - II [ View ]


1. Buka file FormController, Kemudian dibagian index() ubah script tersebut seperti dibawah :

public function index()

{

    $siswas = Siswa::orderBy('created_at', 'DESC')->get();    

    return view('index', compact('siswas'));

}


2. Buat file index.php pada folder resources/views lkemudian isikan kode dibawah ini.

@extends('layout')

@section('content')

<h1 style="text-align: center">Daftar Data Siswa </h1>

@if(session()->has('message'))

    <p>{{ session()->get('message') }}</p>

@endif


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

<table width="100%" cellpading="0" cellspacing="0">

    <thead>

        <tr>

            <th width="10%">No</th>

            <th align="left" width="30%">NIS</th>

            <th align="left" width="30%">Nama</th>

            <th width="30%">Tindakan</th>

        </tr>

    </thead>

    <tbody>

        @if($siswas->count())

            @php($index = 1)

            @foreach($siswas as $siswa)

                <tr>

                    <td align="center">{{ $index++ }}</td>

                    <td>{{ $siswa->nis }}</td>

                    <td>{{ $siswa->nama }}</td>

                    <td align="center">

                        <a href="{{ route('form.edit', $siswa->id) }}">Edit</a> | <a onclick="document.getElementById('hapus-{{ $siswa->id }}').submit()" style="color: #ff0000; cursor: pointer;">Hapus</a>

                        <form action="{{ route('form.destroy', $siswa->id) }}" id="hapus-{{ $siswa->id }}" method="POST">

                            <input type="hidden" name="_token" value="{{ csrf_token() }}">

                            <input type="hidden" name="_method" value="delete">

                        </form>

                    </td>

                </tr>

            @endforeach

        @else

            <tr>

                <td align="center" colspan="4">Data tidak tersedia</td>

            </tr>

        @endif

    </tbody>

</table>

@endsection


Buka browser lalu ketik http://127.0.0.1:8000/form maka akan ditampilkan gambar dibawah ini


Membuat CRUD Database Dengan Laravel - I [ Insert ]

 

Laravel merupakan sebuah framework yang menggunakan library Eloquent untuk management database, dengan demikian memakai insert, update & delete data di Laravel sangat mudah dibandingkan melakukan dengan cara manual dengan  PHP procedural.

Sebelum melakukan proses CRUD, maka perlu membuat model lebih dulu, berikut langkah - langkahnya :

Buat sebuah model beserta migration :

php artisan make:model Siswa --migration

Kemudian buat beberapa field pada migration .

$table->string('nis', 50);

$table->string('nama', 100);

Jalankan migration tersebut biar table siswa beserta field yang dibuat pada database.

php artisan migrate

Maka secara otomatis database dan table sudah terbuat, selanjutnya bisa melakukan insert, update serta delete  data di laravel.


Insert Data ke Database

Buat tampilan form sederhana untuk menampilkan beberapa kolom input.

Sebelum itu, buat controller, jalankan command di terminal.

php artisan make:controller FormController --resource

Catatan : Sintak tersebut akan menciptakan / membuat sebuah controller dengan nama FormController beserta beberapa method seperti index()create()edit()update(), dan destroy(). Dengan demikian maka perlu membuat method-method CRUD, karena sudah disediakan / dibuatkan oleh perintah --resource tersebut.

Buka file route web.php yang berada di folder routes, lalu tambahkan kode seperti dibawah :

Route::resource('form', FormController::class);

Sintak diatas menjadikan halaman utama project adalah halaman formulir sederhana.

Setelah itu,  buat file layout.simple.php di folder resources/views dan tambahkan kode dibawah ini.

<html>

    <head>

        <title>Form Simple </title>

        <style>

            .container {

                position: relative;

                width: 80%;

                margin: 0 auto;

            }

            form .group {

                margin-bottom: 10px;

            }

            form .group input {

                border: 1px solid #cccccc;

                border-radius: 4px;

                display: block;

                width: 100%;

                padding: 10px;

            }

            form .group .error {

                display: inline-block;

                color: #ff0000;

                margin-top: 5px;

            }

            form .group button.save {

                background-color: #4169E1;

                border: 1px solid #325cdb;

                color: #ffffff;

                padding: 10px;

                cursor: pointer;

                border-radius: 4px;

            }

            

            form .group button.cancel {

                background-color: #4169E1;

                border: 1px solid #325cdb;

                color: #ffffff;

                padding: 10px;

                cursor: pointer;

                border-radius: 4px;

            }


            table {

                border: 1px solid #cccccc;

                margin-top: 10px;

            }

            table tr td,

            table tr th {

                border-left: 1px solid #cccccc;

                padding: 10px;

            }

            table tr td:first-child,

            table tr th:first-child {

                border-left: 0;

            }

            table tr td {

                border-top: 1px solid #cccccc;

            }

        </style>

    </head>

    <body>

        <div class="container">

            @yield('content')

        </div>

    </body>

</html>


Kemudian buat file create.simple.php di folder resources/views dan tambahkan kode dibawah ini.

@extends('layout')

@section('content')

<h1 style="text-align: center">Tambah Data</h1>

@if(session()->has('message'))

    <p>{{ session()->get('message') }}</p>

@endif

<form action="{{ route('form.store') }}" method="POST">

    <input type="hidden" name="_token" value="{{ csrf_token() }}">

    <div class="group">

        <label for="nis">NIS</label>

        <input type="number" id="nis" name="nis" value="{{ old('nis') }}">

        @if($errors->has('nis'))

            <small class="error">{{ $errors->first('nis') }}</small>

        @endif

    </div>

    <div class="group">

        <label for="nama">Nama</label>

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

        @if($errors->has('nama'))

            <small class="error">{{ $errors->first('nama') }}</small>

        @endif

    </div>

    <div class="group">

        <a href="{{ route('form.index') }}">Batal</a>

        <button class="save">Simpan</button>

    </div>

</form>

@endsection

Kemudian file FormController di folder app/Http/Controllers/FormController.php pada bagian method create()  tambahkan kode berikut .

return view('create');

Kemudian jalankan perintah .

php artisan server

Setelah dijalankan buka browser dengan url http://127.0.0.1:8000/form/create maka akan ditampilkaan gambar seperti dibawah.


Setelah itu buat proses insert data, proses insert berada di method store() dalam file FormController, lalu masukan model Siswa pada FormController,  menambahkan kode dibawah.

use App\Models\Siswa; berada dibawah kalimat : use Illuminate\Http\Request;

maka akan seperti ini :

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Models\Siswa;

class FormController extends Controller

{

    ..

}


Kemudian dibagian method store() buat :

public function store(Request $request)

{

    $request->validate([

        'nis' => 'required|numeric|digits_between:1,50|unique:siswas,nis,null,id',

        'nama' => 'required|string|min:1|max:100'

    ]);


    $siswa = new Siswa;

    $siswa->nis = $request->nis;

    $siswa->nama = $request->nama;


    if($siswa->save()) {

        return redirect()->route('form.index')->with('message', 'Data Siswa sudah ditambahkan ');

    } else {

        return redirect()->back()->with('message', 'Data Siswa Gagal Ditambahkan');

    }

}


Keterangan :

$request->validate() adalah untuk memvalidasi input form yang dikirim oleh user, dimana kedua form nis dan nama wajib, jika tidak di isi dengan benar akan menampilkan pesan error.


Penjelasan pada script dibawah adalah :

<meta charset="utf-8">'nis' => 'required|numeric|digits_between:1,50|unique:siswas,nis,null,id',

'nama' => 'required|string|min:1|max:100'

  • required,  field tersebut wajib di isi
  • numeric harus berupa angka numerik.
  • digits_between:1,50 digunakan untuk membatasi jumlah digit dari angka yang dimasukkan.
  • unique digunakan agar data yang ada didalam record database tidak sama.
  • string dimana kolom harus berupa string.
  • min dan max, untuk membatasi jumlah karakter yang dimasukkan user.

Apabila ada terjadi kesalahan proses submit, maka akan dikirim kembali ke halaman form dengan pesan Data Siswa Gagal Ditambahkan, jika berhasil kembali ke index form.

Membuat Insert data dengan External File Koneksi pada PHP


1. Buat File koneksi.php

<?php

$host = "localhost";

$user = "root";

$password = "";

$database = "databasename";

$link = mysql_connect("localhost","root","")  or die (" Koneksi database gagal ");

$db = mysql_select_db($database, $link)   or die("  Database belum dipilih");

?>


2. Buat file simpan.php

<?php

include 'koneksi.php';

// menyimpan data 

$nim            = $_POST['nim'];

$nama           = $_POST['nama'];

$jurusan        = $_POST['jurusan'];

$jenis_kelamin  = $_POST['jenis_kelamin'];

$alamat         = $_POST['alamat'];

// query insert 

$query="Insert Into mahasiswa Set nim='$nim',nama='$nama',jurusan='$jurusan',jenis_kelamin='$jenis_kelamin',alamat='$alamat'";

mysql_query($query);

?>


3. Membuat Inputan : input.php

<!DOCTYPE html>

<html>

<head>

    <title>Pengisian data mahasiswa </title>

</head>

<body>

   <form method="post" action="simpan.php" style="padding: 15px 15px; width: 25%; margin: auto;  background-color: #CC9900">

   <h3 align="center">Pengisian Data Mahasiswa </h3>

        <table>

            <tr><td>NIM</td><td>:</td><td><input type="text"  name="nim" ></td></tr>

            <tr><td>NAMA</td><td>:</td><td><input type="text" name="nama"></td></tr>

            <tr>

            <td>JENIS KELAMIN</td><td>:</td>

            <td><input type="radio" name="jenis_kelamin" value="Laki-Laki">Laki - Laki

            <input type="radio" name="jenis_kelamin" value="Perempuan" >Perempuan</td>

            </tr>

          <tr><td>JURUSAN</td><td>:</td><td><input type="text" name="jurusan"></td></tr>   

        <tr><td>ALAMAT</td><td>:</td><td><input type="textarea" name="alamat"></td> </tr>

            <tr>

            <td></td>

            <td></td>

            <td colspan="2"><button type="submit" value="simpan">SIMPAN</button></td>

            </tr>

        </table>

    </form>

</div>

</body>

</html>


Menampilkan Data pada DropDown List Dengan PHP


Code :

<!DOCTYPE html>
<html>
<head>
 <title> Belajar membuat DropDown List  </title>
<?php 
 mysql_connect("localhost","root","");
 mysql_select_db("negara");
?>
</head>
<body>
 <h2>Dropdown List </h2>
<form method="POST">
 <select name="negara" id="negara">
  <option disabled selected>  Country </option>
 <?php 
  $sql=mysql_query("Select * From Negara");
  while ($data=mysql_fetch_array($sql)) {
 ?>
   <option value="<?=$data['negara']?>"><?=$data['negara']?></option> 
 <?php
  }
 ?>
  </select>
</body>
</html>






Melihat dan Membuat PHP Info


Terkadang, aplikasi website yang diinstall dan bisa berjalan dengan baik di localhost, akan menjadi error ketika diupload ke hosting. Salah satu penyebab yang sering terjadi adalah perbedaan versi php antara hosting dan localhost. Karena itu, Anda perlu membuat phpinfo untuk mengetahui versi PHP pada localhost, agar nantinya Anda bisa menyesuaikan versi php di hosting.

Untuk mengetahui versi PHP, membuat file fungsi phpinfo sebagai berikut :

1. Buka aplikasi notepad .

2. Kemudian ketikkan script berikut ;

<?php phpinfo(); ?>

Berikut contoh penulisan pada notepad ;


3. Simpan file dengan nama info.php difolder htdocs, kemudian pada “Save as Type” pilih All Files.


4.  Kemudain  ketik di browser localhost/info.php, maka akan ditampilkan screenshot berikut :


Demikian cara untuk mengetahui PHP info. dengan tujuan supaya mengetahui versi PHP yang dgunakan.

Memunculkan Simbol & Emoji Pada OS Mac

  Memunculkan Simbol & Emoji  1. Buka aplikasi Pages / Notes pada Macbook. 2. Klik pada Menubar Edit --> Pilih Emoji and Symbols a...