setelah sebelumnya kita sudah membuat metode CRUD dengan php, maka mari kita bersama untuk mencoba membuat metode CRUD dengan oop php. kenapa memakai oop php juga?apakah metode crud yang kemaren sudah kita coba belum cukup?. sebelum kita memulainya izinkan diri ini untuk mengucapkan
Salam sobat semua
Alhamdulillahi robbil 'alamiin atas segala nikmat yang telah Allah berikan kepada diri ini secara gratis sehingga diri ini bisa menulis dan berbagi dalam tulisan ini. dan tak lupa sholawat serta salamku akan tetap tercurah dan terpanjatkan hanya untuk baginda Sayyidina Muhammad ibni Abdillah S.A.W. beserta keluarga dan para sahabatnya.
Bismillahir rohmaanir rohiim, kali ini kita akan mencoba membuat metode crud dengan oop php. sebenarnya metode crud yang sudah sebelumnya sudah kita buat pada tulisan cara membuat crud dengan php dan mysqli , sudah cukup untuk mewakili pembuatan applikasi web yang nantinya akan memakai metode CRUD. tapi ada baiknya kita juga mencoba metode crud dengan versi oop php mysqli. karena apa?karena dengan memakai oop kita akan lebih mudah untuk pemanggilan atau penggunaan kode metode CRUD ini. sehingga memudahkan kita untuk membuat atau mengetik metode CRUD sebagaimana yang sudah kita ketahui sebelumnya pada tulisan mencoba dan mengenal oop di php. mari kita lihat contoh berikut. pada percobaan sebelumnya untuk metode create atau query insert penerapan kodenya sebagai berikut
mysqli_query(koneksimysql(),"insert into bio (nama,alamat,tgllahir) values ('$_POST[inpnama]','$_POST[inpalamat]','$_POST[inptgllahir]')") or die(" ada kesalahan sistem pada waktu menyimpan data ". mysqli_error(koneksimysql()));
sedangkan jika kita memakai metode crud dengan oop akan menjadi seperti berikut
$konmysql->insert("bio",$data) or die(" ada kesalahan sistem pada waktu menyimpan data ". mysqli_error(koneksimysql()));
jadi dengan melihat dari perbandingan kode diatas kita sudah bisa memahami kenapa kita juga harus mencoba dengan oop php ini.
selanjutnya kita langsung saja bagaimana cara membuat metode crud dengan oop. yang pertama kita harus membuat classnya dulu. kita buat dan kita tentutkan untuk membuat function dan variabel-variabel yang akan kita pakai dalam class ini. biar kita tidak bingung untuk nama class, variabel dan function kita satukan ikut dalam tulisan ini. dan sebelum kita membuat class yang lain tentunya kita masih ingat dengan fungsi construct pada oop php ini , jadi pertama kita akan membuat class dan fungsi construct untuk pengkoneksian php ke database mysql kita. dan untuk kode penerapan pembuatan class kurang lebihnya sebagai berikut
<?php
class DbKon{
public $koneksi;
function __construct(){
$dbhost="localhost";
$dbuser="root";
$dbpass="";
$dbname="tes2";
$this->koneksi=mysqli_connect($dbhost,$dbuser,$dbpass,$dbname) or die ("Gagal menghubungkan ke mysql ".mysqli_connect_error());
echo "Sukses koneksi database";
}
}
?>
simpan kode diatas dengan nama classconn.php dan kemudian kita buat file crud.php untuk pemanggilan oopnya yang ketika kodenya diterapkan kurang lebihnya akan seperti berikut
<?php
require_once"clasconn1.php";
$konmysql=new DbKon;
?>
jika dari kode diatas tidak terjaddi error dan menghasilkan output Sukses koneksi database maka pembuatan class koneksi kita sudah berhasil.
dan selanjutnya kita akan mencoba membuat class untuk read dari metode CRUD. yang untuk penerapan kodenya kurang lebih sebagai berikut
function select($tabel,$where){
$query=mysqli_query($this->koneksi,"select * from $tabel $where");
return $query;
}
kemudian kita buat juga fungsi untuk menghitung row atau baris untuk query yang kita pakai sebagai fungsi untuk indikator apakah query yang kita pakai ada isi baris atau tidak yang penera[an kodenya kurang lebih seperti berikut
function numrow($data){
return mysqli_num_rows($data);
}
setelah itu kita juga harus membuat fungsi untuk menampilkan data yaitu fungsi fetch array, karena ini yang akan kita pakai dalam fungsi read dan update pada metode crud kali ini yang penerapan kodenya adalah sebagai berikut
function fetcharr($data){
return mysqli_fetch_array($data);
}
dan sekarang kita buat pemanggilan fungsi read metode crud tersebut yang kurang lebihnya seperti berikut
echo"<a href='?action=new'>Create</a>";
$cek=$konmysql->select("bio","order by id desc");
if($konmysql->numrow($cek)>=1){
echo"<table>
<tr>
<td>Nama</td>
<td>Alamat</td>
<td>Tanggal Lahir</td>
<td>action</td>
</tr>";
while($tampil=$konmysql->fetcharr($cek)){
echo "<tr>
<td>$tampil[nama]</td>
<td>$tampil[alamat]</td>
<td>$tampil[tgllahir]</td>
<td><a href='?action=edit&id=$tampil[id]'>Update</a> <a href='?action=del&id=$tampil[id]'>Delete</a></td>
</tr>";
}
echo"</table>";
}else{
echo "Maaf data masih belum ada";
}
maka untuk penerapan kode class keseluruhannya dari kode diatas adalah sebagai berikut.
<?php
class DbKon{
public $koneksi;
function __construct(){
$dbhost="localhost";
$dbuser="root";
$dbpass="";
$dbname="tes2";
$this->koneksi=mysqli_connect($dbhost,$dbuser,$dbpass,$dbname) or die ("Gagal menghubungkan ke mysql ".mysqli_connect_error());
}
function select($tabel,$where){
$query=mysqli_query($this->koneksi,"select * from $tabel $where");
return $query;
}
function numrow($data){
return mysqli_num_rows($data);
}
function fetcharr($data){
return mysqli_fetch_array($data);
}
}
?>
dan untuk penerapan kode keseluruhan pemanggilan class metode CRUD nya adlaah sebagai berikut
<?php
require_once"clasconn1.php";
$konmysql=new DbKon;
if(isset($_GET['action'])){
switch($_GET['action']){
default:
echo "Maaf option ini belum ada";
break;
}
}else{
echo"<a href='?action=new'>Create</a>";
$cek=$konmysql->select("bio","order by id desc");
if($konmysql->numrow($cek)>=1){
echo"<table>
<tr>
<td>Nama</td>
<td>Alamat</td>
<td>Tanggal Lahir</td>
<td>action</td>
</tr>";
while($tampil=$konmysql->fetcharr($cek)){
echo "<tr>
<td>$tampil[nama]</td>
<td>$tampil[alamat]</td>
<td>$tampil[tgllahir]</td>
<td><a href='?action=edit&id=$tampil[id]'>Update</a> <a href='?action=del&id=$tampil[id]'>Delete</a></td>
</tr>";
}
echo"</table>";
}else{
echo "Maaf data masih belum ada";
}
}
?>
setelah kita sudah membuat read dari metode crud dengan oop php mysqli selanjutnya mari kita mencoba untuk membuat create dari metode crud oop php mysqli. untuk create metode crud kita menggunakan query mysql insert, jadi sekarang kita terapkan query insert menjadi suatu function atau method dalam object class oop php. dalam membuat query insert menjadi suatu function kita akan memakai fungsi array untuk nama kolom dan nilai kolom tabel database kita nantinya. untuk penerapan kode function insert untuk create metode crud ini kurang lebih sebagai berikut
function insert($tabel,$data){
$row=array();
$nilai=array();
foreach($data as $kolom=>$value){
$row[]=$kolom;
$nilai[]="'$value'";
}
$result=mysqli_query($this->koneksi,"insert into $tabel (".implode(",",$row).") values (".implode(",",$nilai).")");
return $result;
}
dan untuk penerapan kode dalam pemanggilan dan penggunaan fungsi insert dalam class tersebut adalah sebagai berikut
$data['nama']=$_POST['inpnama'];
$data['alamat']=$_POST['inpalamat'];
$data['tgllahir']=$_POST['inptgllahir'];
$konmysql->insert("bio",$data) or die(" ada kesalahan sistem pada waktu menyimpan data ". mysqli_error(koneksimysql()));
echo "Sukses menambah data";
jadi untuk penerapan kode class keseluruhannya adalah sebagai berikut
<?php
class DbKon{
public $koneksi;
function __construct(){
$dbhost="localhost";
$dbuser="root";
$dbpass="";
$dbname="tes2";
$this->koneksi=mysqli_connect($dbhost,$dbuser,$dbpass,$dbname) or die ("Gagal menghubungkan ke mysql ".mysqli_connect_error());
}
function select($tabel,$where){
$query=mysqli_query($this->koneksi,"select * from $tabel $where");
return $query;
}
function numrow($data){
return mysqli_num_rows($data);
}
function fetcharr($data){
return mysqli_fetch_array($data);
}
function insert($tabel,$data){
$row=array();
$nilai=array();
foreach($data as $kolom=>$value){
$row[]=$kolom;
$nilai[]="'$value'";
}
$result=mysqli_query($this->koneksi,"insert into $tabel (".implode(",",$row).") values (".implode(",",$nilai).")");
return $result;
}
}
?>
jadi untuk penerapan kode penggunaan class keseluruhannya adalah sebagai berikut
<?php
require_once"clasconn1.php";
$konmysql=new DbKon;
if(isset($_GET['action'])){
switch($_GET['action']){
case "new":
echo "<form method='POST'>
<table>
<tr>
<td>Nama</td>
<td>:</td>
<td><input type='text' name='inpnama'></td>
</tr>
<tr>
<td>Tanggal Lahir</td>
<td>:</td>
<td><input type='text' name='inptgllahir'></td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><textarea name='inpalamat' cols='35' rows='15'></textarea></td>
</tr>
</table>
<input type='submit' name='tblsimpan' value='Simpan'>
<a href='?'><input type='button' name='tblbatal' value='Kembali'></a>
</form>";
if(isset($_POST['tblsimpan'])){
$data['nama']=$_POST['inpnama'];
$data['alamat']=$_POST['inpalamat'];
$data['tgllahir']=$_POST['inptgllahir'];
$konmysql->insert("bio",$data) or die(" ada kesalahan sistem pada waktu menyimpan data ". mysqli_error(koneksimysql()));
echo "Sukses menambah data";
}
break;
default:
echo "Maaf option ini belum ada";
break;
}
}else{
echo"<a href='?action=new'>Create</a>";
$cek=$konmysql->select("bio","order by id desc");
if($konmysql->numrow($cek)>=1){
echo"<table>
<tr>
<td>Nama</td>
<td>Alamat</td>
<td>Tanggal Lahir</td>
<td>action</td>
</tr>";
while($tampil=$konmysql->fetcharr($cek)){
echo "<tr>
<td>$tampil[nama]</td>
<td>$tampil[alamat]</td>
<td>$tampil[tgllahir]</td>
<td><a href='?action=edit&id=$tampil[id]'>Update</a> <a href='?action=del&id=$tampil[id]'>Delete</a></td>
</tr>";
}
echo"</table>";
}else{
echo "Maaf data masih belum ada";
}
}
?>
maka dari kode diatas jika dijalankan dan jika kita isi form inputannya dan kita klik tombol simpan maka jika tidak terjadi error akan menghailkan output Sukses menambah data tampak seperti berikut
dan selanjutnya kita akan mencoba membuat update metode crud yang mana untuk function update metode crud ini dalam penerapan class oopnya hampir sama dengan function insert diatas. hanya saja beda dalam query dan penggunaan array. biar lebih jelas mari kita coba dalam penerapan kodenya yang kurang lebihnya sebagai berikut.
function update($tabel,$data,$where){
$row=array();
$nilai=array();
foreach($data as $kolom=>$value){
$set[]=$kolom."='$value'";
}
$result=mysqli_query($this->koneksi,"update $tabel set ".implode(",",$set)." $where");
return $result;
}
dari kode diatas bisa kita lihat bahwa penggunaan array berbeda karena dalam query insert untuk nilai kolom penempatannya di lain tempat, sedangkan untuk update menjadi satu tempat dengan kolom. dan untuk penerapan dan penggunaan fungsi diatas adalah sebagai berikut
$data['nama']=$_POST['inpnama'];
$data['alamat']=$_POST['inpalamat'];
$data['tgllahir']=$_POST['inptgllahir'];
$konmysql->update("bio",$data," where id='$id'") or die(" ada kesalahan sistem pada waktu menyimpan data ". mysqli_error(koneksimysql()));
echo "Sukses merubah data";
untuk penerapan kode class keseluruhannya adalah sebagai berikut
<?php
class DbKon{
public $koneksi;
function __construct(){
$dbhost="localhost";
$dbuser="root";
$dbpass="";
$dbname="tes2";
$this->koneksi=mysqli_connect($dbhost,$dbuser,$dbpass,$dbname) or die ("Gagal menghubungkan ke mysql ".mysqli_connect_error());
}
function select($tabel,$where){
$query=mysqli_query($this->koneksi,"select * from $tabel $where");
return $query;
}
function numrow($data){
return mysqli_num_rows($data);
}
function fetcharr($data){
return mysqli_fetch_array($data);
}
function insert($tabel,$data){
$row=array();
$nilai=array();
foreach($data as $kolom=>$value){
$row[]=$kolom;
$nilai[]="'$value'";
}
$result=mysqli_query($this->koneksi,"insert into $tabel (".implode(",",$row).") values (".implode(",",$nilai).")");
return $result;
}
function update($tabel,$data,$where){
$row=array();
$nilai=array();
foreach($data as $kolom=>$value){
$set[]=$kolom."='$value'";
}
$result=mysqli_query($this->koneksi,"update $tabel set ".implode(",",$set)." $where");
return $result;
}
}
?>
untuk penerapan kode pengguanaan class keseluruhannya adalah sebagai berikut
<?php
require_once"clasconn1.php";
$konmysql=new DbKon;
if(isset($_GET['action'])){
switch($_GET['action']){
case "new":
echo "<form method='POST'>
<table>
<tr>
<td>Nama</td>
<td>:</td>
<td><input type='text' name='inpnama'></td>
</tr>
<tr>
<td>Tanggal Lahir</td>
<td>:</td>
<td><input type='text' name='inptgllahir'></td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><textarea name='inpalamat' cols='35' rows='15'></textarea></td>
</tr>
</table>
<input type='submit' name='tblsimpan' value='Simpan'>
<a href='?'><input type='button' name='tblbatal' value='Kembali'></a>
</form>";
if(isset($_POST['tblsimpan'])){
$data['nama']=$_POST['inpnama'];
$data['alamat']=$_POST['inpalamat'];
$data['tgllahir']=$_POST['inptgllahir'];
$konmysql->insert("bio",$data) or die(" ada kesalahan sistem pada waktu menyimpan data ". mysqli_error(koneksimysql()));
echo "Sukses menambah data";
}
break;
case "edit":
$id=$_GET['id'];
$cek=$konmysql->select("bio"," where id='$id'");
if($konmysql->numrow($cek)>=1){
$tampil=$konmysql->fetcharr($cek);
echo "<form method='POST'>
<table>
<tr>
<td>Nama</td>
<td>:</td>
<td><input type='text' name='inpnama' value='$tampil[nama]'></td>
</tr>
<tr>
<td>Tanggal Lahir</td>
<td>:</td>
<td><input type='text' name='inptgllahir' value='$tampil[tgllahir]'></td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><textarea name='inpalamat' cols='35' rows='15'>$tampil[alamat]</textarea></td>
</tr>
</table>
<input type='submit' name='tblsimpan' value='Simpan'>
<a href='?'><input type='button' name='tblbatal' value='Kembali'></a>
</form>";
if(isset($_POST['tblsimpan'])){
$data['nama']=$_POST['inpnama'];
$data['alamat']=$_POST['inpalamat'];
$data['tgllahir']=$_POST['inptgllahir'];
$konmysql->update("bio",$data," where id='$id'") or die(" ada kesalahan sistem pada waktu menyimpan data ". mysqli_error(koneksimysql()));
echo "Sukses merubah data";
}
}else{
echo "Maaf data dengan id ini belum ada";
}
break;
default:
echo "Maaf option ini belum ada";
break;
}
}else{
echo"<a href='?action=new'>Create</a>";
$cek=$konmysql->select("bio","order by id desc");
if($konmysql->numrow($cek)>=1){
echo"<table>
<tr>
<td>Nama</td>
<td>Alamat</td>
<td>Tanggal Lahir</td>
<td>action</td>
</tr>";
while($tampil=$konmysql->fetcharr($cek)){
echo "<tr>
<td>$tampil[nama]</td>
<td>$tampil[alamat]</td>
<td>$tampil[tgllahir]</td>
<td><a href='?action=edit&id=$tampil[id]'>Update</a> <a href='?action=del&id=$tampil[id]'>Delete</a></td>
</tr>";
}
echo"</table>";
}else{
echo "Maaf data masih belum ada";
}
}
?>
jadi jika kode diatas berfungsi atau bisa running atau bisa jalan untuk metode updatenya dengan cara klik update dan kemudian akan tampil data yang mau kita update dan jika kita sudah merubah data yang ingin kita update atau kita rubah dan kemudian kita klik tombol simpan maka jika tidak terjadi error maka akan menghasilkan output Sukses merubah data sebagai tampak seperti berikut
dan sekarang yang terakhir adalah delete pada metode crud. metode delete ini hampir sama dengan metode select atau metode read diatas. jadi kita hanya merubah query delete pada mysqli menjadi suatu function delete yang kurang lebihnya seperti berikut
function delete($tabel,$where){
$query=mysqli_query($this->koneksi,"delete from $tabel $where");
return $query;
}
kemudian untuk penerapan dan penggunnaan function delete diatas adalah sebagai berikut
$konmysql->delete("bio"," where id='$id'")or die(" ada kesalahan sistem pada waktu menghapus data ". mysqli_error(koneksimysql()));
echo "Sukses menghapus data";
jadi untuk penerapan kode class keseluruhannya adalah sebagai berikut
<?php
class DbKon{
public $koneksi;
function __construct(){
$dbhost="localhost";
$dbuser="root";
$dbpass="";
$dbname="tes2";
$this->koneksi=mysqli_connect($dbhost,$dbuser,$dbpass,$dbname) or die ("Gagal menghubungkan ke mysql ".mysqli_connect_error());
}
function select($tabel,$where){
$query=mysqli_query($this->koneksi,"select * from $tabel $where");
return $query;
}
function numrow($data){
return mysqli_num_rows($data);
}
function fetcharr($data){
return mysqli_fetch_array($data);
}
function insert($tabel,$data){
$row=array();
$nilai=array();
foreach($data as $kolom=>$value){
$row[]=$kolom;
$nilai[]="'$value'";
}
$result=mysqli_query($this->koneksi,"insert into $tabel (".implode(",",$row).") values (".implode(",",$nilai).")");
return $result;
}
function update($tabel,$data,$where){
$row=array();
$nilai=array();
foreach($data as $kolom=>$value){
$set[]=$kolom."='$value'";
}
$result=mysqli_query($this->koneksi,"update $tabel set ".implode(",",$set)." $where");
return $result;
}
function delete($tabel,$where){
$query=mysqli_query($this->koneksi,"delete from $tabel $where");
return $query;
}
}
?>
dan untuk penerapan kode penggunaan clas keseluruhannya adalah sebagai berikut
<?php
require_once"clasconn1.php";
$konmysql=new DbKon;
if(isset($_GET['action'])){
switch($_GET['action']){
case "new":
echo "<form method='POST'>
<table>
<tr>
<td>Nama</td>
<td>:</td>
<td><input type='text' name='inpnama'></td>
</tr>
<tr>
<td>Tanggal Lahir</td>
<td>:</td>
<td><input type='text' name='inptgllahir'></td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><textarea name='inpalamat' cols='35' rows='15'></textarea></td>
</tr>
</table>
<input type='submit' name='tblsimpan' value='Simpan'>
<a href='?'><input type='button' name='tblbatal' value='Kembali'></a>
</form>";
if(isset($_POST['tblsimpan'])){
$data['nama']=$_POST['inpnama'];
$data['alamat']=$_POST['inpalamat'];
$data['tgllahir']=$_POST['inptgllahir'];
$konmysql->insert("bio",$data) or die(" ada kesalahan sistem pada waktu menyimpan data ". mysqli_error(koneksimysql()));
echo "Sukses menambah data";
}
break;
case "edit":
$id=$_GET['id'];
$cek=$konmysql->select("bio"," where id='$id'");
if($konmysql->numrow($cek)>=1){
$tampil=$konmysql->fetcharr($cek);
echo "<form method='POST'>
<table>
<tr>
<td>Nama</td>
<td>:</td>
<td><input type='text' name='inpnama' value='$tampil[nama]'></td>
</tr>
<tr>
<td>Tanggal Lahir</td>
<td>:</td>
<td><input type='text' name='inptgllahir' value='$tampil[tgllahir]'></td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><textarea name='inpalamat' cols='35' rows='15'>$tampil[alamat]</textarea></td>
</tr>
</table>
<input type='submit' name='tblsimpan' value='Simpan'>
<a href='?'><input type='button' name='tblbatal' value='Kembali'></a>
</form>";
if(isset($_POST['tblsimpan'])){
$data['nama']=$_POST['inpnama'];
$data['alamat']=$_POST['inpalamat'];
$data['tgllahir']=$_POST['inptgllahir'];
$konmysql->update("bio",$data," where id='$id'") or die(" ada kesalahan sistem pada waktu menyimpan data ". mysqli_error(koneksimysql()));
echo "Sukses merubah data";
}
}else{
echo "Maaf data dengan id ini belum ada";
}
break;
case "del":
$id=$_GET['id'];
$cek=$konmysql->select("bio", "where id='$id'");
if($konmysql->numrow($cek)>=1){
echo "<form method='POST'>
<p>Apakah anda akan menghapus data ini?</p>
<input type='submit' name='tbldel' value='Hapus'>
<a href='?'><input type='button' name='tblbatal' value='Kembali'></a>
</form>";
if(isset($_POST['tbldel'])){
$konmysql->delete("bio"," where id='$id'")or die(" ada kesalahan sistem pada waktu menghapus data ". mysqli_error(koneksimysql()));
echo "Sukses menghapus data";
}
}else{
echo "Maaf data dengan id ini belum ada";
}
break;
default:
echo "Maaf option ini belum ada";
break;
}
}else{
echo"<a href='?action=new'>Create</a>";
$cek=$konmysql->select("bio","order by id desc");
if($konmysql->numrow($cek)>=1){
echo"<table>
<tr>
<td>Nama</td>
<td>Alamat</td>
<td>Tanggal Lahir</td>
<td>action</td>
</tr>";
while($tampil=$konmysql->fetcharr($cek)){
echo "<tr>
<td>$tampil[nama]</td>
<td>$tampil[alamat]</td>
<td>$tampil[tgllahir]</td>
<td><a href='?action=edit&id=$tampil[id]'>Update</a> <a href='?action=del&id=$tampil[id]'>Delete</a></td>
</tr>";
}
echo"</table>";
}else{
echo "Maaf data masih belum ada";
}
}
?>
maka jika kita mengklik link delete pada tampilan read metode crud diatas maka akan tampil suatu pertanyaan Apakah anda akan menghapus data ini? dan dua bua tombol yang mana jika kita tekan tombol hapus maka akan terhapus data yang ada pada database kita dengan id yang ada pada link id dan akan menghasilkan output Sukses menghapus data seperti tampak berikut
seperti itulah kurang lebihnya tentang cara membuat crud dengan oop php mysqli ini, dan saya rasa cukup sekian dulu untuk tulisan kali ini tentang bagaimana cara membuat crud dengan oop php mysqli dan kita lanjut di next tulisan Insya Allah. mudah-mudahan tulisan ini bisa memberi manfaat bagi kita semua Aamiiin.
untuk kalian yang ingin download file kode diatas bisa download disini
Salam sobat semua
- video membuat crud dengan oop php mysqli part 1
- video membuat crud dengan oop php mysqli part 2
#crud #oop #php #mysqli #create #read #update #delete #free #share #opensource #sourcecode
tags:
membuat aplikasi crud dengan php dan mysqli
membuat crud data karyawan dengan php mysqli dan bootstrap 3
crud oop php mysqli pdf
source code crud oop php
login oop php mysqli
crud php oop mvc
crud oop php bootstrap
script oop php
crud oop php mysqli pdf
crud php oop mvc
source code crud oop php
crud oop php bootstrap
login oop php mysqli
oop insert php mysqli
Comments
Post a Comment