Halo, kembali lagi di codekop.com, pada kali ini saya mau share cara membuat query builder CRUD sederhana dengan PHP, Query Builder ini berfungsi untuk membantu untuk mempermudah proses crud yang dilakukan ke database, karena kita tidak usah susah payah lagi membuat query sql seperti INSERT INTO, UPDATE TABLE SET, DELETE, SELECT *FROM dan sebagainya, cukup mengetahui nama tabel dan nama kolom yang akan di execute.
btw saya mengshare tutorial ini dikarenakan dapat inspirasi dari framework-framework seperti CodeIgniter atau Laravel, bagaimana si framework dapat mengexecute data dengan hanya memanggil nama table, kolom dan isi tanpa harus capek-capek menulis query sql lagi, terlebih lagi ini hanya sekedar pembelajaran dan pengetahuan untuk mempermudah dan mempercepat CRUD pada website.
langsung saja masuk tutorial :
Langkah pertama membuat 3 file php sebagai percobaan : yaitu index.php, crud.php, dan koneksi.php
Seperti biasa kita membuat file koneksi.php untuk menghubungan php dengan database
<?php /** * Berikut koneksi untuk menguhubungkan php dengan database * * */ $host = 'localhost'; // host default 'localhost' atau 127.0.0.1 $user = 'root'; // user default 'root' $pass = ''; // password server anda, jika menggunakan xampp default kosong $dbname = ''; // nama database anda try{ $koneksi = new PDO('mysql:host='.$host.';dbname='.$dbname.';', $user, $pass); }catch (PDOException $e) { return 'Koneksi Gagal : ' . $e->getMessage(); } ?>
lalu langkah selanjutnya anda membuat crud.php yaitu berisi fungsi-fungsi untuk query builder nya, setiap function sudah di beri komentar untuk mengetahui fungsi-fungsi yang ada :
<?php class Crud { protected $db; function __construct($db){ $this->db = $db; } // merupakan fungsi untuk melihat tabel dari database ( select *from ) function select_from($tabel) { return $this->db->query("SELECT * FROM $tabel"); } // merupakan fungsi untuk melihat data table dari database berdasarkan id function select_where($tabel,$where,$id) { $row = $this->db->prepare("SELECT * FROM $tabel WHERE $where = ?"); $row->execute(array($id)); return $row; } // merupakan fungsi untuk tambah data function insert($tabel,$paramsArr) { $key = array_keys($paramsArr); $val = array_values($paramsArr); $query = "INSERT INTO $tabel (" . implode(', ', $key) . ") " . "VALUES ('" . implode("', '", $val) . "')"; $row = $this->db->prepare($query); return $row ->execute(); } // merupakan fungsi edit data function update($tabel,$data,$where,$id) { $setPart = array(); foreach ($data as $key => $value) { $setPart[] = $key."=:".$key; } $sql = "UPDATE $tabel SET ".implode(', ', $setPart)." WHERE $where = :id"; $row = $this->db->prepare($sql); //Bind our values. $row ->bindValue(':id',$id); // where foreach($data as $param => $val) { $row ->bindValue($param, $val); } return $row ->execute(); } // merupakan fungsi untuk hapus data function delete($tabel,$where,$id) { $sql = "DELETE FROM $tabel WHERE $where = ?"; $row = $this->db->prepare($sql); return $row ->execute(array($id)); } } ?>
Nah setelah membuat kedua file diatas kita uji coba testing dengan koneksi dan query builder yang kita buat pada index.php :
langkah pada file index.php adalah cara memanggil kedua file tersebut :
<?php /** * File Index.php sebagai testing query builder crud yang sudah di buat * * */ // memanggil file koneksi.php dan crud.php require 'koneksi.php'; require 'crud.php'; // memanggil class crud pada file crud.php $crud = new Crud($koneksi);
lalu cara menggunakan query builder tersebut berikut cara pakainya :
SELECT * FROM tbl_user
// cara select * from tabel $results = $crud->select_from('tbl_user')->fetchAll(); foreach($results as $row) { echo $row['username']; echo $row['name']; echo $row['email']; }
SELECT * FROM tbl_user WHERE username = 'fauzan';
Cara execute pada query builder php :
// select * from tabel where username = ? $result = $crud->select_where('tbl_user','username','fauzan')->fetch(); echo $result['username'];
INSERT INTO tbl_user (username, name, email, website) VALUES ('fauzan', 'Fauzan Falah', 'fauzan1892@codekop.com', 'www.codekop.com');
// cara tambah record tbl_user $data = array( // 'nama kolom tabel' => 'isi kolom yang diisi' 'username' => 'fauzan', 'name' => 'Fauzan Falah', 'email' => 'fauzan1892@codekop.com', 'website' => 'www.codekop.com' ); $crud->insert('tbl_user',$data);
UPDATE tbl_user SET name='Falah Fauzan', email = 'fauzancodekop@gmail.com' WHERE id_user = '1';
// cara update record tbl_user $data = array( // 'nama kolom tabel' => 'isi kolom yang diisi' 'name' => 'Falah Fauzan', 'email' => 'fauzancodekop@gmail.com', ); // update('nama tabel', $data, 'where id_user', 'id user'); $crud->update('tbl_user',$data,'id_user','1');
DELETE FROM tbl_user WHERE id_user = '1';
// cara delete / hapus record table user $crud->delete('tbl_user','id_user','1');
// cara row count isi record table $counts = $crud->select_from('tbl_user')->rowCount(); echo $counts; // cara row count isi record table berdasarkan id $count = $crud->select_where('tbl_user','username','fauzan')->rowCount(); echo $count;
Oke itu cukup demikian tutorial kali ini semoga bermanfaat mohon maaf bila ada salah, kata terima kasih telah berkunjung..
* Temukan berbagai postingan dan produk yang kamu cari