Adversitement

News Update :
Home » » CRUD PHP PDO dengan MYSQL

CRUD PHP PDO dengan MYSQL

Penulis : DIKNI BLOG on Thursday 26 February 2015 | 05:13

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
Share this article :

Post a Comment

Powered by Blogger.
 
Design Template by panjz-online | Support by creating website | Powered by Blogger