Cara Membuat CRUD PHP MySQL dengan Mudah
buatlah database dengan nama db_product kemudian buatlah sebuah tabel dengan menjalankan script berikut :
Langkah#1
CREATE TABLE `products` ( `id` int(11) NOT NULL, `title` varchar(200) NOT NULL, `price` float NOT NULL, `company` varchar(200) NOT NULL, `category` varchar(200) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Langkah#2
Tambahkan beberapa data dengan menjalankan script berikut ini :
INSERT INTO `products` (`id`, `title`, `price`, `company`, `category`) VALUES(1, 'Buku', 300000, 'Company 1', 'Pakaian'),(2, 'Buku Tulis', 500000, 'Company 1', 'Pakaian'),(3, 'Pena', 4000, 'Joyko', 'ATK'),(6, 'Kopi', 5000, 'Torabika', 'Minuman');
Langkah#3
Buka command prompt (cmd) kemudian jalankan perintah berikut :
Penjelasan :
- Langkah pertama adalah membuka cmd
- perintah cd\ berguna untuk masuk ke drive c:
- perintah cd\xampp\htdocs\ untuk masuk ke folder htdocs dimana lokasi folder kita agar dapat diakses oleh server.
- perintah mkdir pos berguna untuk membuat folder pos dalam hal ini pos adalah nama project yang akan kita buat.
- jalankan perintah : composer require thingengineer/mysqli-database-class:dev-master perintah diatas adalah library mysqli yang akan memudahkan kita dalam membuat aplikasi.
- perintag code . digunakan untuk membuka project dengan visual studio code.
Langkah#4
Setelah project terbuka pada visual studio code kita perlu menambahkan beberapa file agar kita siap untuk bekerja. struktur folder yang ada pada project seperti pada gambar berikut :
buatlah folder dan file-file seperti pada gambar diatas, selanjutnya kita akan membuat coding pada file-file tersebut :
Coding error.php
<!DOCTYPE html><html lang="en"><?php$title = "Not Found";$judul = $halaman;?><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Halaman Error</title></head><body> <p>Maaf, Halaman <strong>"<?= $halaman ?>"</strong> Tidak Ditemukan</p>;</body></html>
coding product.php
<?php$title = "Product List";$judul = $title;$url = 'products';?><?phpif (isset($_POST['simpan'])) { if ($_POST['id'] == "") { $data['title'] = $_POST['title']; $data['price'] = $_POST['price']; $data['company'] = $_POST['company']; $data['category'] = $_POST['category']; $exec = $db->insert("products", $data); } else { $data['title'] = $_POST['title']; $data['price'] = $_POST['price']; $data['company'] = $_POST['company']; $data['category'] = $_POST['category']; $db->where('id', $_POST['id']); $exec = $db->update("products", $data); } redirect(url($url));}?><?phpif (isset($_GET['hapus'])) { $db->where('id', $_GET['id']); $get = $db->ObjectBuilder()->getOne('products'); $db->where("id", $_GET['id']); $exec = $db->delete("products"); redirect(url($url));} elseif (isset($_GET['tambah']) or isset($_GET['ubah'])) { $id = ""; $title = ""; $price = ""; $company = ""; $category = ""; if (isset($_GET['ubah']) and isset($_GET['id'])) { $id = $_GET['id']; $db->where('id', $id); $row = $db->ObjectBuilder()->getOne('products'); if ($db->count > 0) { $id = $row->id; $title = $row->title; $price = $row->price; $company = $row->company; $category = $row->category; } } ?> <form method="post"> <input type="hidden" id="id" name="id" value="<?=$id?>"> <div class="form-group"> <label>Kode</label> <div class="row"> <div class="col-md-4"> <input type="text" id="id" name="id" value="<?=$id?>"> </div> </div> </div> <div class="form-group"> <label>Title</label> <div class="row"> <div class="col-md-6"> <input type="text" id="title" name="title" value="<?=$title?>"> </div> </div> </div> <div class="form-group"> <label>Price</label> <div class="row"> <div class="col-md-6"> <input type="text" id="price" name="price" value="<?=$price?>"> </div> </div> </div> <div class="form-group"> <label>Company</label> <div class="row"> <div class="col-md-4"> <input type="text" id="company" name="company" value="<?=$company?>"> </div> </div> </div> <div class="form-group"> <label>Kategori</label> <div class="row"> <div class="col-md-3"> <input type="text" id="category" name="category" value="<?=$category?>"> </div> </div> </div> <div class="form-group"> <button type="submit" name="simpan" class="btn btn-info"><i class="fa fa-save"></i> Simpan</button> <a href="<?=url($url)?>" class="btn btn-danger"><i class="fa fa-reply"></i> Kembali</a> </div> </form><?php } else {?> <a href="<?=url($url . '&tambah')?>" class="btn btn-success"><i class="fa fa-plus"></i> Tambah</a> <table class="table table-bordered"> <thead> <tr> <th>No</th> <th>Title</th> <th>Price</th> <th>Company</th> <th>Category</th> <th>Aksi</th> </tr> </thead> <tbody> <?php$no = 1; $getdata = $db->ObjectBuilder()->get('products'); foreach ($getdata as $row) { ?> <tr> <td><?=$no?></td> <td><?=$row->title?></td> <td><?=$row->price?></td> <td><?=$row->company?></td> <td><?=$row->category?></td> <td> <a href="<?=url($url . '&ubah&id=' . $row->id)?>"> Edit</a> <a href="<?=url($url . '&hapus&id=' . $row->id)?>" onclick="return confirm('Hapus data?')">Hapus</a> </td> </tr> <?php$no++; }}?> </tbody> </table>
coding crud_db.php
<?php$db = new MysqliDb($setDb['db_host'], $setDb['db_user'], $setDb['db_password'], $setDb['db_name']);
coding helper.php
<?phpfunction base_url($a = ''){ $getbase_url = $GLOBALS['setUri']['base']; return $getbase_url . $a;}function assets($a = ''){ $getbase_assets = $GLOBALS['setUri']['assets']; return base_url($getbase_assets . $a);}function url($a = '', $b = ''){ return base_url($b . '?halaman=' . $a);}function redirect($a = ''){ header("location: " . $a); exit;}function templates($a = ''){ return assets($GLOBALS['template'] . $a);}
coding session.php
<?phpuse Josantonius\Session\Session;$session = new Session();if ($session::init()) { $session::init();}$session::setPrefix('_Webgis');
coding head.php
<head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title><?= isset($title) ? $title : 'CRUD Products' ?></title> <!-- Tell the browser to be responsive to screen width --> <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"></head>
coding loader.php
<?php$_dir = __DIR__;define('env', $_dir);include env . '/env.php';// helpersinclude 'vendor/autoload.php';include '_helpers/helper.php';include '_helpers/crud_db.php';//include '_helpers/session.php';
coding env.php
<?php$_dir = __DIR__;define('env', $_dir);include env . '/env.php';// helpersinclude 'vendor/autoload.php';include '_helpers/helper.php';include '_helpers/crud_db.php';//include '_helpers/session.php';
coding index.php
<?phpinclude '_loader.php';if (isset($_GET['halaman'])) { $halaman = $_GET['halaman'];} else { $halaman = 'beranda';}ob_start();$file = '_halaman/' . $halaman . '.php';if (!file_exists($file)) { include '_halaman/error.php';} else { include $file;}$content = ob_get_contents();ob_end_clean();?><!DOCTYPE html><html lang="en"><?phpinclude '_layouts/head.php'?><body> <div> <div> <h1> <?php echo $judul ?> </h1> <?php echo $content; ?> </div> </div></body></html>
Langkah#5
jika sudah selesai membuat coding diatas silahkan jalankan program anda dengan mengakses url seperti berikut :
http://localhost/pos/?halaman=products
maka hasilnya :
Posting Komentar untuk "Cara Membuat CRUD PHP MySQL dengan Mudah"