Basic CRUD dengan PHP MYSQLi dengan OOP

Publish Date : 26-02-2016 , dibaca 28016 kali, Hari ini dibaca : 1 kali ,7 comments

CRUD with PHP and Mysqli dengan Konsep OOP ...? ya itu lah yang saya pelajari dulu, Bagaimana Konsep Dasar CRUD dengan PHP dan MYSQLi menggunakan konsep OOP, Bagi yang belum belajar atau tau dasar dari konsep OOP MYSQLi kita akan belajar bersama disini , sebelum kita melanjutkannya, kira-kira mungkin masih ada yang bertanya di pikiran friends sekalian, why i have to oop?..heee...(sok english) ,, ya

Mengapa harus OOP ?

sedikit penjelasan dari website sebelah mungkin dapat menjawab pertanyaan ini, berikut ulasannya :

  • Dengan OOP, kode-kode yang kita buat menjadi lebih rapih dan terstruktur.
  • Dengan OOP, proses reuse kode-kode yang kita buat untuk project yang hampir sama, mudah, karena kode yang kita buat rapih dan terstruktur. Sehingga untuk mengubah atau reuse kode gak pusing-pusing lagi.
  • Konsepnya per modul. Pernah buat fungsi ato prosedur di C atau di PHP ? lalu kita tinggal panggil saja kan nama fungsinya. Kalau error pasti mudah diketahui karena terbaca dari fungsi yang kita panggil. Itulah maksudnya konsep per modul. Sehingga dengan OOP, kita dimudahkan untuk membuat dan membaca kode kita (efisiensi kode).
  • Konsep OOP juga memudahkan kita untuk menganalisa program yang kita akan buat. Ini akan sangat terasa kalau kita membuat program besar dan riwet.

dan

Mengapa harus MYSQli ?

yes, Why i have to go mysqli...? campur-campur speaknya gak apa2 ya.. sekalian belajar ne... Untuk Menjawab pertanyaan ini , berikut ulasan yang saya kutip dari website sebelah :

PHP terbaru sudah mulai melepas fungsi mysql dan berharap kita mengganti ke fungsi / objek yang lebih bagus. Namun perlu diketahui bahwa mysql dan mysqli secara cepat adalah sama, namun kemampuan mysqli lebih banyak. Mysql (tanpa i) kita bisa asumsikan seorang prajurit normal dengan segala persenjataan. Tetapi mysqli (dengan i) adalah prajurit sama tetapi memiliki alat yang lebih modern.

dan sedikit saya tambahkah, bahwa mysqli sudah mendukung konsep OOP , so jika kita menggunakan konsep OOP di php tapi masih menggunakan mysql kan gak sinkron ... heee.. kira-kira seperti itu lah . selebihnya serching sendiri di google ya ..

OY Baca Juga Ya :

  1. Register Form PHP dan MYSQLi
  2. Membuat Koneksi di Mysql dan Mysqli
  3. Validasi Email dengan PHP dan Mysqli

OK.. Langsung saja kita .

Download  Demo

Cara Membuat Koneksi di MYSQLi dengan OOP :
buat  file dengan nama db_connect.php , ya ini untuk koneksi ke database

<?php
//set connection variables
$host = "localhost";
$username = "root";
$password = "";
$db_name = "suckittrees_demo"; //database name
//connect to mysql server
$mysqli = new mysqli($host, $username, $password, $db_name);
//check if any connection error was encountered
if(mysqli_connect_errno()) {
echo "Error: Could not connect to database.";
exit;
}
?>

Kemudian buat sebuah database dengan nama suckittrees_demo , dan buat table user, berikut scriptnya pastekan di sql log

CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`firstname` varchar(32) NOT NULL,
`lastname` varchar(32) NOT NULL,
`username` varchar(32) NOT NULL,
`password` varchar(32) NOT NULL,
`modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=52 ;
INSERT INTO `users` (`id`, `firstname`, `lastname`, `username`, `password`, `modified`) VALUES
(28, 'John', 'Dalisay', 'john', 'john123', '2011-09-23 14:36:19'),
(39, 'aaa', 'aaa', 'aaa', 'aaa', '2011-09-23 15:44:04'),
(40, 'bbb', 'bbb', 'bbb', 'bbb', '2011-09-23 15:44:13'),
(41, 'ccc', 'ccc', 'ccc', 'ccc', '2011-09-23 15:44:32'),
(46, 'XXXDDD', '', '', '', '2011-09-23 17:13:15'),
(47, 'www', 'www', 'www', 'www', '2011-09-23 17:21:38'),
(48, 'HEHEHEHEHE', '', '', '', '2011-09-23 18:50:10'),
(49, 'www', 'www', 'www', 'www', '2011-09-23 19:28:24'),
(50, 'EEEE', 'EEEE', 'EEEE', 'EEEE', '2011-09-24 05:01:36'),
(51, 'asdf', 'asdf', 'asdf', 'asdf', '2011-10-04 18:44:19');

PHP/MySQLi: Input Record

Cara Membuat INPUT Data di MYSQLi dengan OOP :

Setelah itu kita akan membuat INPUT DATA DI DATABASE MYSQLi dengan OOP , buat file tambah.php and your paste code dibawah ini :

<html>
<head>
    <title>MySQLi Create Record</title>
</head>
<body>
    <?php
//if there's any user action
    $action = isset($_POST['action']) ? $_POST['action'] : "";
if($action=='create'){ //the the user submitted the form
//include database connection
    include 'db_connect.php';
//our insert query query
//$mysqli->real_escape_string() function helps us prevent attacks such as SQL injection
    $query = "insert into users
    set
    firstname = '".$mysqli->real_escape_string($_POST['firstname'])."',
    lastname = '".$mysqli->real_escape_string($_POST['lastname'])."',
    username = '".$mysqli->real_escape_string($_POST['username'])."',
    password  = '".$mysqli->real_escape_string($_POST['password'])."'";
//execute the query
    if( $mysqli->query($query) ) {
//if saving success
        echo "User was created.<a href='tampildata.php'>Display </a>";
    }else{
//if unable to create new record
        echo "Database Error: Unable to create record.";
    }
//close database connection
    $mysqli->close();
}
?>
<!--we have our html form here where user information will be entered-->
<form action='#' method='post' border='0'>
    <table>
        <tr>
            <td>Firstname</td>
            <td><input type='text' name='firstname' /></td>
        </tr>
        <tr>
            <td>Lastname</td>
            <td><input type='text' name='lastname' /></td>
        </tr>
        <tr>
            <td>Username</td>
            <td><input type='text' name='username' /></td>
        </tr>
        <tr>
            <td>Password</td>
            <td><input type='password' name='password' /></td>
            <tr>
                <td></td>
                <td>
                    <input type='hidden' name='action' value='create' />
                    <input type='submit' value='Save' />
                </td>
            </tr>
        </table>
    </form>
</body>
</html>

 

INput Data di MYSQLI dengan PHP OOP

PHP/MySQLi: Display Record

Cara Menampilkan Data MYsqli dengan Konsep OOP, Buat file dengan nama tampildata.php dan paste kan code dibawah ini :

<html>
<head>
    <title>MySQLi Read Records</title>
</head>
<body>
    <?php
//include database connection
    include 'db_connect.php';
//query all records from the database
    $query = "select * from users";
//execute the query
    $result = $mysqli->query( $query );
//get number of rows returned
    $num_results = $result->num_rows;
//this will link us to our add.php to create new record
    echo "<div><a href='tambah.php'>Create New Record</a></div>";
if( $num_results > 0){ //it means there's already a database record
echo "<table border='1'>";//start table
//creating our table heading
echo "<tr>";
echo "<th>Firstname</th>";
echo "<th>Lastname</th>";
echo "<th>Username</th>";
echo "<th>Action</th>";
echo "</tr>";
//loop to show each records
while( $row = $result->fetch_assoc() ){
//extract row
//this will make $row['firstname'] to
//just $firstname only
    extract($row);
    //creating new table row per record
    echo "<tr>";
    echo "<td>{$firstname}</td>";
    echo "<td>{$lastname}</td>";
    echo "<td>{$username}</td>";
    echo "<td>";
    //just preparing the edit link to edit the record
    echo "<a href='edit.php?id={$id}'>Edit</a>";
    echo " / ";
    //just preparing the delete link to delete the record
    echo "<a href='#' onclick='delete_user( {$id} );'>Delete</a>";
    echo "</td>";
    echo "</tr>";
}
echo "</table>";//end table
}else{
//if database table is empty
    echo "No records found.";
}
//disconnect from database
$result->free();
$mysqli->close();
?>
</body>
</html>

Cara Menampilkan Data mysqli dengan OOPPHP/MySQLi: Update Record

Cara Meng-Update data di Mysqli dengan konsep OOP , buat file dengan nama  edit.php Berikut ini script yang digunakan :

<?php
//include database connection
include 'db_connect.php';
//check any user action
$action = isset( $_POST['action'] ) ? $_POST['action'] : "";
if($action == "update"){ //if the user hit the submit button
//write our update query
//$mysqli->real_escape_string() function helps us prevent attacks such as SQL injection
    $query = "update users
    set
    firstname = '".$mysqli->real_escape_string($_POST['firstname'])."',
    lastname = '".$mysqli->real_escape_string($_POST['lastname'])."',
    username = '".$mysqli->real_escape_string($_POST['username'])."',
    password  = '".$mysqli->real_escape_string($_POST['password'])."'
    where id='".$mysqli->real_escape_string($_REQUEST['id'])."'";
//execute the query
    if( $mysqli->query($query) ) {
//if updating the record was successful
        echo "User was updated.";
    }else{
//if unable to update new record
        echo "Database Error: Unable to update record.";
    }
}
//select the specific database record to update
$query = "select id, firstname, lastname, username, password
from users
where id='".$mysqli->real_escape_string($_REQUEST['id'])."'
limit 0,1";
//execute the query
$result = $mysqli->query( $query );
//get the result
$row = $result->fetch_assoc();
//assign the result to certain variable so our html form will be filled up with values
$id = $row['id'];
$firstname = $row['firstname'];
$lastname = $row['lastname'];
$username = $row['username'];
$password = $row['password'];
?>
<!--we have our html form here where new user information will be entered-->
<form action='#' method='post' border='0'>
    <table>
        <tr>
            <td>Firstname</td>
            <td><input type='text' name='firstname' value='<?php echo $firstname;  ?>' /></td>
        </tr>
        <tr>
            <td>Lastname</td>
            <td><input type='text' name='lastname' value='<?php echo $lastname;  ?>' /></td>
        </tr>
        <tr>
            <td>Username</td>
            <td><input type='text' name='username'  value='<?php echo $username;  ?>' /></td>
        </tr>
        <tr>
            <td>Password</td>
            <td><input type='password' name='password'  value='<?php echo $password;  ?>' /></td>
            <tr>
                <td></td>
                <td>
                    <!-- so that we could identify what record is to be updated -->
                    <input type='hidden' name='id' value='<?php echo $id ?>' />
                    <!-- we will set the action to update -->
                    <input type='hidden' name='action' value='update' />
                    <input type='submit' value='Edit' />
                    <a href='tampildata.php'>Back to display page</a>
                </td>
            </tr>
        </table>
    </form>

Edit data mysqli dengan OOP

PHP/MySQLi: Delete Record

Buat file dengan nama delete.php dan pastekan code dibawah ini :

   <?php
//include database connection
    include 'db_connect.php';
    $action = isset($_GET['action']) ? $_GET['action'] : "";
if($action=='delete'){ //if the user clicked ok, run our delete query
//$mysqli->real_escape_string() function helps us prevent attacks such as SQL injection
    $query = "DELETE FROM users WHERE id = ".$mysqli->real_escape_string($_GET['id'])."";
//execute query
    if( $mysqli->query($query) ){
//if successful deletion
        echo "<script>alert('User was deleted.');window.location='tampildata.php'</script>";
    }else{
//if there's a database problem
        echo "Database Error: Unable to delete record.";
    }
}
?>

OK.. Demikianlah Artikel saya tentang CRUD dengan Konsep OOP pada PHP MYSQLi, Silahkan Download Source Code Dibawah ini :

Download  Demo

Produk Rekomendasi

Artikel Terkait

Diskusi

7 Komentar


Andika   Pada : 2016-01-18 01:03:03
Terima Kasih Artikelnya Gan, Sangat Membantu

Anonim   Pada : 2016-01-18 13:37:01
Artikelnya Lengkap, Source Codenya juga sudah ane download, Work,, Thank you

Suckittrees Admin   Pada : 0000-00-00 00:00:00
@andika and @anonim , Terima Kasih Kunjunganya Gan... Sama-Sama

sirkhan   Pada : 2016-02-06 21:29:52
terima kasih gan, semoga menjadi ladang amal buat agan

Suckittrees Admin   Pada : 2016-02-07 10:48:19
Sama-Sama Gan

adefp   Pada : 2016-05-23 11:02:22
ane kok ga bisa register ya gan ?1

PRANESHAW   Pada : 2016-06-16 09:35:37
thx gan artikelnya. Btw saya mau nanya gan. untuk yang delete saya agak kurang jelas gan, soalnya masih belum ngerti isi dari fungsi delete_user() kayak gimana dan kode javascript pop up untuk konfirmasi hapusnya seperti yang ada di demo. thx l



wa