Hay Kawan saya akan berbagi pengetahuan tentang bagai mana cara membuat CRUD create,read,update,delete Mysql dengan php PDO.
pertama hal yang dibutuhkan adalah mengaktifkan Apache dan mysql, cukup untuk mengaktifkan Wamp server atau Xammp.
Buatlah database dengan nama yang sesuai dengan ke inginan anda atau anda bisa mendownload backup database saya di Akhir postingan ini lengkap dengan file php pdonya.
pertama buatlah database dengan nama pdo_ret
lalu buat table bernama members
seperti contoh dibawah ini.
CREATE TABLE IF NOT EXISTS `members` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`fname` varchar(100) NOT NULL,
`lname` varchar(100) NOT NULL,
`age` int(5) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
Isi lah dulu table table tersebut.
Buat koneksi database dengan php kita buat file php dengan nama connect.php
dan isi file connect.php seperti dibawah ini.
<?php
$db_host = 'localhost';
$db_user = 'root';
$db_pass = '';
$db_database = 'pdo_ret';
$db = new PDO('mysql:host='.$db_host.';dbname='.$db_database, $db_user, $db_pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
?>
lalu buatlah file php dengan nama index.php
isikan file dengan kode di bawah ini sekaligus dengan CSSNya yah.
<style>
table { border-collapse: separate; background-color: #FFFFFF; border-spacing: 0; width: 50%; color: #666666; text-shadow: 0 1px 0 #FFFFFF; border: 1px solid #CCCCCC; box-shadow: 0; margin: 0 auto; }
table thead tr th { background: none repeat scroll 0 0 #EEEEEE; color: #222222; padding: 10px 14px; text-align: left; border-top: 0 none; font-size: 12px; }
table tbody tr td{
background-color: #FFFFFF;
font-size: 11px;
text-align: left;
padding: 10px 14px;
border-top: 1px solid #DDDDDD;
}
#pagination {
text-align: center;
margin-top: 20px;
}
#pagination a {
border: 1px solid #CCCCCC;
padding: 5px 10px;
font-family: arial;
text-decoration: none;
background: none repeat scroll 0 0 #EEEEEE;
color: #222222;
}
#pagination a:hover {
background-color: #FFFFFF;
}
a#active{
background-color: #FFFFFF;
}
#sample thead tr th {
font-size: 20px;
}
input {
border: 1px solid #CCCCCC;
}
#secret {
margin-top: 19px; width: 168px;
}
</style>
<?php
session_start();
?>
<?php
if( isset($_SESSION['ERRMSG_ARR']) && is_array($_SESSION['ERRMSG_ARR']) && count($_SESSION['ERRMSG_ARR']) >0 ) {
echo '<ul style="padding:0; color:red;">';
foreach($_SESSION['ERRMSG_ARR'] as $msg) {
echo '<li>',$msg,'</li>';
}
echo '</ul>';
unset($_SESSION['ERRMSG_ARR']);
}
?>
<form action="reg.php" method="POST" style="width: 50%; margin: 15px auto; height: 54px;">
<div style="float:left;width:25%;">
First Name<br>
<input type="text" name="fname" />
</div>
<div style="float:left;width:25%;">
Last Name<br>
<input type="text" name="lname" />
</div>
<div style="float:left;width:25%;">
Age<br>
<input type="text" name="age" />
</div>
<div style="float:left;width:25%;">
<input type="submit" value="Save" id="secret" />
</div>
</form>
<table cellspacing="0" cellpadding="2" id="sample" >
<thead>
<tr>
<th> First Name </th>
<th> Last Name </th>
<th> Age </th>
<th> Action </th>
</tr>
</thead>
<tbody>
<?php
include('connect.php');
if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * 6;
$result = $db->prepare("SELECT * FROM members ORDER BY id ASC LIMIT $start_from, 6");
$result->execute();
for($i=0; $row = $result->fetch(); $i++){
?>
<tr class="record">
<td><?php echo $row['fname']; ?></td>
<td><?php echo $row['lname']; ?></td>
<td><?php echo $row['age']; ?></td>
<td><a href="editform.php?id=<?php echo $row['id']; ?>"> edit </a> | <a href="delete.php?id=<?php echo $row['id']; ?>"> delete </a></td>
</tr>
<?php
}
?>
</tbody>
</table>
<div id="pagination">
<?php
$result = $db->prepare("SELECT COUNT(id) FROM members");
$result->execute();
$row = $result->fetch();
$total_records = $row[0];
$total_pages = ceil($total_records / 6);
for ($i=1; $i<=$total_pages; $i++) {
echo "<a href='index.php?page=".$i."'";
if($page==$i)
{
echo "id=active";
}
echo ">";
echo "".$i."</a> ";
};
?>
</div>
dan buat juga proses untuk menambahnya beri nama dengan reg.php
<?php
session_start();
$errmsg_arr = array();
$errflag = false;
// configuration
$dbhost = "localhost";
$dbname = "pdo_ret";
$dbuser = "root";
$dbpass = "";
// database connection
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
// new data
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$age = $_POST['age'];
if($fname == '') {
$errmsg_arr[] = 'You must enter your First Name';
$errflag = true;
}
if($lname == '') {
$errmsg_arr[] = 'You must enter your Last Name';
$errflag = true;
}
if($age == '') {
$errmsg_arr[] = 'You must enter your Age';
$errflag = true;
}
if($errflag) {
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
session_write_close();
header("location: index.php");
exit();
}
// query
$sql = "INSERT INTO members (fname,lname,age) VALUES (:sas,:asas,:asafs)";
$q = $conn->prepare($sql);
$q->execute(array(':sas'=>$fname,':asas'=>$lname,':asafs'=>$age));
header("location: index.php");
?>
buat lagi file php dengan nama editform.php
<?php
include('connect.php');
$id=$_GET['id'];
$result = $db->prepare("SELECT * FROM members WHERE id= :userid");
$result->bindParam(':userid', $id);
$result->execute();
for($i=0; $row = $result->fetch(); $i++){
?>
<form action="edit.php" method="POST">
<input type="hidden" name="memids" value="<?php echo $id; ?>" />
First Name<br>
<input type="text" name="fname" value="<?php echo $row['fname']; ?>" /><br>
Last Name<br>
<input type="text" name="lname" value="<?php echo $row['lname']; ?>" /><br>
Age<br>
<input type="text" name="age" value="<?php echo $row['age']; ?>" /><br>
<input type="submit" value="Save" />
</form>
<?php
}
?>
Untuk proses editnya buat file dengan nama edit.php
<?php
// configuration
include('connect.php');
// new data
$lname = $_POST['lname'];
$fname = $_POST['fname'];
$age = $_POST['age'];
$id = $_POST['memids'];
// query
$sql = "UPDATE members
SET fname=?, lname=?, age=?
WHERE id=?";
$q = $db->prepare($sql);
$q->execute(array($fname,$lname,$age,$id));
header("location: index.php");
?>
Untuk menghapus buat lagi file delete.php
<?php
include('connect.php');
$id=$_GET['id'];
$result = $db->prepare("DELETE FROM members WHERE id= :memid");
$result->bindParam(':memid', $id);
$result->execute();
header("location: index.php");
?>
selesai maka anda sudah membuat CRUD php PDO dengan mysql.
Jika anda masih gagal terus saya juga melampirkan filenya juga bisa di download di
disini
Subscribe to:
Post Comments (Atom)
Powered by Blogger.
Post a Comment