cincin berlian
BTCClicks.com Banner
baju wanita

Jumat, 29 Mei 2015

CRUD With PDO on PHP

Assalamu'alaikum Wr.Wb kali ini saya mau share pengetahuan untuk materi PHP CRUD dengan OOP, apa itu OOP (Object Oriented Procedure) dari kata-katanya ada procedure yang berarti bisa dikatakan bahwa procedure itu adalah yang berbasis objek.
ok langsung saja langkah pertama kita membuat database terlebih dahulu, dan saya punya contoh databasenya seperti berikut
CREATE TABLE `students` (
`id` int(11) NOT NULL AUTO_INCREMENT primary key,
`name` varchar(100),
`email` varchar(150),
`mobile` varchar(20),
`address` varchar(200)
);
--
-- Isi Dari table `students`
--

INSERT INTO `students` (`id`, `name`, `email`, `mobile`, `address`) VALUES
(1, 'Arif Riadi', 'arifriady@gmail.com', '01722589654', 'Tasikmalaya'),
(2, 'Aldino Said', 'aldinosaid@gmail.com', '01755847591', 'Indramayu'),
(3, 'Setiawan Jodi', 'setiawanjodi@gmail.com', '01755847591', 'Kulon Progo'),
(8, 'Danang Nurcahyo ', 'danang@gmail.com', '876868', 'Yogyakarta');
Setelah kita buat databasenya lalu kita membuat oopCrud.php dengan sourcecode seperti berikut:
<?php
//class koneksi yang akan dipakai dengan nama oopCrud yang didalamnya memiliki fungsi connect dengan nama conn
class oopCrud{
 private $host="localhost";
 private $user="root";
 private $db="primax";
 private $pass="";
 private $conn;

 public function __construct(){

 $this->conn = new PDO("mysql:host=".$this->host.";dbname=".$this->db,$this->user,$this->pass);
 }
 //$table disini dinamis dengan menggunakan parameter
 public function showData($table){

 $sql="SELECT * FROM $table";
 $q = $this->conn->query($sql) or die("failed!");

 while($r = $q->fetch(PDO::FETCH_ASSOC)){
 $data[]=$r;
 }
 return $data;
 }

 public function getById($id,$table){

 $sql="SELECT * FROM $table WHERE id = :id";
 $q = $this->conn->prepare($sql);
 $q->execute(array(':id'=>$id));
 $data = $q->fetch(PDO::FETCH_ASSOC);
 return $data;
 }
//$id Sebagai parameter id yang nantinya akan dimasukan ke fungsi insert,update,delete
 public function update($id,$name,$email,$mobile,$address,$table){

$sql = "UPDATE $table
 SET name=:name,email=:email,mobile=:mobile,address=:address
 WHERE id=:id";
 $q = $this->conn->prepare($sql);
 $q->execute(array(':id'=>$id,':name'=>$name,
':email'=>$email,':mobile'=>$mobile,':address'=>$address));
 return true;

 }

 public function insertData($name,$email,$mobile,$address,$table){

 $sql = "INSERT INTO $table SET name=:name,email=:email,mobile=:mobile,address=:address";
 $q = $this->conn->prepare($sql);
 $q->execute(array(':name'=>$name,':email'=>$email,
':mobile'=>$mobile,':address'=>$address));
 return true;
 }

 public function deleteData($id,$table){

 $sql="DELETE FROM $table WHERE id=:id";
 $q = $this->conn->prepare($sql);
 $q->execute(array(':id'=>$id));
 return true;
 }
}

?>
Setelah membuat oopCrud.php kita membuat insert dengan diberi nama insert.php dengan source code sebagai berikut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Insert Data</title>
 <link rel="stylesheet" type="text/css" href="css/bootstrap.css">
 </head>

<body>
 <?php
 //disini connect.php nya disamakan dengan class tadi yaitu oopCrud.php
 //karena disini menggunakan load otomatis
function __autoload($class){
 include_once($class.".php");

}
//Panggil Class oopCrud
 $obj=new oopCrud;
//insert mendapatkan value dari button, jika buton tidak di klik maka tidak terjadi apa-apa
//jika button diklik akan mengirimkan value yang berupa insert.
if(isset($_REQUEST['insert'])){
 extract($_REQUEST);
 if($obj->insertData($name,$email,$mobile,$address,"students")){
 //masuk ke class dengan fungsi insertdata
 header("location:show.php?status_insert=success");
 }

}
echo @<<<show
<div class="container">
 <div class="container">
 <div class="btn-group">
 <button class="btn"><a href="show.php">Home</a></button>
 </div>
 <h3>Insert Your Data</h3>
 <form action="insert.php" method="post">
 <table width="400" class="table-borderd">
 <tr>
 <th scope="row">Id</th>
 <td><input type="text" name="id" value="$id" readonly="readonly"></td>
 </tr>
 <tr>
 <th scope="row">Name</th>
 <td><input type="text" name="name" value="$name"></td>
 </tr>
 <tr>
 <th scope="row">Email</th>
 <td><input type="text" name="email" value="$email"></td>
 </tr>
 <tr>
 <th scope="row">Mobile</th>
 <td><input type="text" name="mobile" value="$mobile"></td>
 </tr>
 <tr>
 <th scope="row">Address</th>
 <td><textarea rows="5" cols="20" name="address">$address</textarea></td>
 </tr>
 <tr>
 <th scope="row">&nbsp;</th>
 <td><input type="submit" name="insert" value="Insert" class="btn"></td>
 </tr>
 </table>
 </form>
</div>
show;
?>

</body>
</html>

Setelah itu kita membuat show.php untuk melihat data yang sudah tersimpan, sourcecodenya sebagai berikut:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Edit Data</title>
 <link rel="stylesheet" type="text/css" href="css/bootstrap.css">
 </head>

<body>
 <?php
function __autoload($class){
 include_once($class.".php");

}
 $obj=new oopCrud;

if(isset($_REQUEST['update'])){
 extract($_REQUEST);
 if($obj->update($id,$name,$email,$mobile,$address,"students")){
 header("location:show.php?status=success");
 }

}
//menampilkan data berdasarkan id yang sudah dibuat pada fungsi getById pada oopCrud.php
extract($obj->getById($_REQUEST['id'],"students"));
echo <<<show
<div class="container">
 <div class="btn-group">
 <button class="btn"><a href="show.php">Home</a></button>
 </div>
 <h3>Edit Your Data</h3>
 <form action="update.php" method="post">
 <table width="500" border="1">
 <tr>
 <th scope="row">Id</th>
 <td><input type="text" name="id" value="$id" readonly="readonly"></td>
 </tr>
 <tr>
 <th scope="row">Name</th>
 <td><input type="text" name="name" value="$name"></td>
 </tr>
 <tr>
 <th scope="row">Email</th>
 <td><input type="text" name="email" value="$email"></td>
 </tr>
 <tr>
 <th scope="row">Mobile</th>
 <td><input type="text" name="mobile" value="$mobile"></td>
 </tr>
 <tr>
 <th scope="row">Address</th>
 <td><textarea rows="5" cols="20" name="address">$address</textarea></td>
 </tr>
 <tr>
 <th scope="row">&nbsp;</th>
 <td><input type="submit" name="update" value="Update" class="btn"></td>
 </tr>
 </table>
 </form>
</div>
show;
?>

</body>
</html>

Setelah membuat show.php kita membuat update.php nya dengan sourcecodenya sebagai berikut:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Edit Data</title>
 <link rel="stylesheet" type="text/css" href="css/bootstrap.css">
 </head>
<body>
 <?php
function __autoload($class){
 include_once($class.".php");
}
 $obj=new oopCrud;
if(isset($_REQUEST['update'])){
 extract($_REQUEST);
 if($obj->update($id,$name,$email,$mobile,$address,"students")){
 header("location:show.php?status=success");
 }
}
//menampilkan data berdasarkan id yang sudah dibuat pada fungsi getById pada oopCrud.php
extract($obj->getById($_REQUEST['id'],"students"));
echo <<<show
<div class="container">
 <div class="btn-group">
 <button class="btn"><a href="show.php">Home</a></button>
 </div>
 <h3>Edit Your Data</h3>
 <form action="update.php" method="post">
 <table width="500" border="1">
 <tr>
 <th scope="row">Id</th>
 <td><input type="text" name="id" value="$id" readonly="readonly"></td>
 </tr>
 <tr>
 <th scope="row">Name</th>
 <td><input type="text" name="name" value="$name"></td>
 </tr>
 <tr>
 <th scope="row">Email</th>
 <td><input type="text" name="email" value="$email"></td>
 </tr>
 <tr>
 <th scope="row">Mobile</th>
 <td><input type="text" name="mobile" value="$mobile"></td>
 </tr>
 <tr>
 <th scope="row">Address</th>
 <td><textarea rows="5" cols="20" name="address">$address</textarea></td>
 </tr>
 <tr>
 <th scope="row">&nbsp;</th>
 <td><input type="submit" name="update" value="Update" class="btn"></td>
 </tr>
 </table>
 </form>
</div>
show;
?>
</body>
</html>


nah itu deh gan cara membuatnya, semoga ilmunya bermanfaat dan berkah bagi saya pribadi.
jangan lupa tinggalkan pesan ya broooo :).....
Terimakasih sudah mengunjungi blog saya, saya cuma sekedar share pengetahuan yang saya punya, jika ada salah kata saya minta maaf ya brooo :)
udah ah cape ngetiknye :) 

Wassalamu'alaikum Wr.Wb.

2 komentar: