MEMBUAT APLIKASI CRUD SEDERHANA AJAX JQUERY PHP MYSQL - Hallo sahabat Dev-Create, Pada Artikel yang anda baca kali ini dengan judul MEMBUAT APLIKASI CRUD SEDERHANA AJAX JQUERY PHP MYSQL, kami telah mempersiapkan artikel ini dengan baik untuk anda baca dan ambil informasi didalamnya. mudah-mudahan isi postingan Artikel crud, yang kami tulis ini dapat anda pahami. baiklah, selamat membaca.

Judul : MEMBUAT APLIKASI CRUD SEDERHANA AJAX JQUERY PHP MYSQL
link : MEMBUAT APLIKASI CRUD SEDERHANA AJAX JQUERY PHP MYSQL

Baca juga


MEMBUAT APLIKASI CRUD SEDERHANA AJAX JQUERY PHP MYSQL

 php

AJAX adalah singkatan dari Asynchronous JavaScript and XML. AJAX adalah teknik baru untuk menciptakan aplikasi web yang lebih baik, lebih cepat, dan lebih interaktif dengan bantuan XML, HTML, CSS, dan Java Script. Dengan AJAX, saat Anda menekan submit pada form, JavaScript akan membuat permintaan ke server, menampilkan hasilnya, dan memperbarui layar pada saat itu juga. Dalam kata lain, pengguna tidak akan pernah tahu bahwa ada data dikirim ke server.

Dalam tutorial ini, kita akan mengetahui bagaimana cara kerja dari AJAX dan bagaimana mengkombinasikannya dengan PHP dan MySQL untuk membuat halaman website yang lebih interaktif tanpa perlu merefresh halaman. Seperti pada tutorial-tutorial sebelumnya, kita akan menggunakan virtual host seperti di Sini.

Pertama-tama kita akan membuat database dengan nama database : db_belajar, kemudian buat table : tb_user dengan script seperti di bawah ini

CREATE TABLE IF NOT EXISTS `tb_user` (
  `user_id` int(5) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(50) NOT NULL,
  `user_email` varchar(50) NOT NULL,
  `user_address` varchar(50) NOT NULL,
  PRIMARY KEY (`user_id`)
) ENGINE=INNODB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

Kemudian buat halaman index.php sebagai halaman utama dari aplikasi yang akan dibuat :

<!DOCTYPE html>
<html>
    <head>
        <title>Tutorial CRUD Dengan AJAX JQuery PHP MySQL</title>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
        <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.js"></script>
        <script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
        <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twbs-pagination/1.3.1/jquery.twbsPagination.min.js"></script>
        <script src="js/ajax.js"></script>
    </head>
    <body>
        <div class="container">
            <div class="row">
                <div class="col-lg-12 margin-tb">
                    <h2>Tutorial CRUD Dengan AJAX JQuery PHP MySQL</h2>
                    <button type="button" class="btn btn-success" data-toggle="modal" data-target="#create-user">
                        <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Buat User Baru
                    </button>
                    <br /><br />
                </div>
            </div>

            <div class="panel panel-primary">
                <div class="panel-heading">Daftar User</div>
                <div class="panel-body">
                    <table class="table table-bordered">
                        <thead>
                            <tr>
                                <th>Nama</th>
                                <th>Email</th>
                                <th>Alamat</th>
                                <th>Action</th>
                            </tr>
                        </thead>
                        <tbody>
                        </tbody>
                    </table>
                    <ul id="pagination" class="pagination-sm"></ul>
                </div>
            </div>

            <!-- Modal untuk tambah user -->
            <div class="modal fade" id="create-user" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                <div class="modal-dialog" role="document">
                    <div class="modal-content">
                        <div class="modal-header">
                            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
                            <h4 class="modal-title" id="myModalLabel">Tambah User</h4>
                        </div>

                        <div class="modal-body">
                            <form data-toggle="validator" action="api/create.php" method="POST">
                                <div class="form-group">
                                    <label class="control-label" for="user_name">Nama</label>
                                    <input type="text" name="user_name" class="form-control" required />
                                </div>
                                <div class="form-group">
                                    <label class="control-label" for="user_email">Email</label>
                                    <input type="email" name="user_email" class="form-control" required />
                                </div>
                                <div class="form-group">
                                    <label class="control-label" for="user_address">Alamat</label>
                                    <input type="text" name="user_address" class="form-control" required />
                                </div>
                                <div class="form-group">
                                    <button type="submit" class="btn crud-submit btn-success">Submit</button>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>
            </div>

            <!-- Modal untuk edit user -->
            <div class="modal fade" id="edit-user" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                <div class="modal-dialog" role="document">
                    <div class="modal-content">
                        <div class="modal-header">
                            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
                            <h4 class="modal-title" id="myModalLabel">Edit User</h4>
                        </div>
                        <div class="modal-body">
                            <form data-toggle="validator" action="api/update.php" method="put">
                                <input type="hidden" name="user_id" class="user_id">
                                <div class="form-group">
                                    <label class="control-label" for="user_name">Nama</label>
                                    <input type="text" name="user_name" class="form-control" required />
                                </div>
                                <div class="form-group">
                                    <label class="control-label" for="user_email">Email</label>
                                    <input type="email" name="user_email" class="form-control" required />
                                </div>
                                <div class="form-group">
                                    <label class="control-label" for="user_address">Alamat</label>
                                    <input type="text" name="user_address" class="form-control" required />
                                </div>
                                <div class="form-group">
                                    <button type="submit" class="btn btn-success crud-edit">Submit</button>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

Buat folder baru untuk menyimpan file-file PHP sebagai API dari aplikasi, misalnya nama folder adalah api. File pertama yang dibuat tentunya untuk menghubungkan dengan database db_belajar yang telah dibuat sebelumnya.

config_db.php

define("DB_USER", "root");
define("DB_PASSWORD", "");
define("DB_DATABASE", "db_belajar");
define("DB_HOST", "localhost");
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);

Buat file read.php untuk menampikan data dari database

header("Content-type:application/json");
require 'db_config.php';
$num_rec = 10;
if (isset($_GET['page'])) {
    $page = $_GET['page'];
} else {
    $page = 1;
};
$start_from = ($page - 1) * $num_rec;
$sqlTotal = "SELECT * FROM tb_user";
$sql = "SELECT * FROM tb_user Order By user_id desc LIMIT $start_from, $num_rec";
$result = $mysqli->query($sql);
while ($row = $result->fetch_assoc()) {
    $json[] = $row;
}
$data['data'] = $json;
$result = mysqli_query($mysqli, $sqlTotal);
$data['total'] = mysqli_num_rows($result);
echo json_encode($data, JSON_PRETTY_PRINT);

Buat file create.php untuk memproses penambahan data

header("Content-type:application/json");
require 'db_config.php';
$sql = "INSERT INTO tb_user (user_name,user_email,user_address) VALUES ('" . $_POST['user_name'] . "','" . $_POST['user_email'] . "','" . $_POST['user_address'] . "')";
$result = $mysqli->query($sql);
$sql = "SELECT * FROM tb_user Order by user_id desc LIMIT 1";
$result = $mysqli->query($sql);
$data = $result->fetch_assoc();
echo json_encode($data, JSON_PRETTY_PRINT);

Buat file update.php untuk meng-update data

header("Content-type:application/json");
require 'db_config.php';
$sql = "UPDATE tb_user SET user_name = '" . $_POST['user_name'] . "',user_email = '" . $_POST['user_email'] . "',user_address = '" . $_POST['user_address'] . "' WHERE user_id = '" . $_POST['user_id'] . "'";
$result = $mysqli->query($sql);
$sql = "SELECT * FROM tb_user WHERE user_id = '" . $_POST['user_id'] . "'";
$result = $mysqli->query($sql);
$data = $result->fetch_assoc();
echo json_encode($data, JSON_PRETTY_PRINT);

Buat file delete.php untuk menhapus data

header("Content-type:application/json");
require 'db_config.php';
$sql = "DELETE FROM tb_user WHERE user_id = '" . $_POST['user_id'] . "'";
$result = $mysqli->query($sql);
echo json_encode([$_POST['user_id']], JSON_PRETTY_PRINT);

Kemudian buat file javascript dengan nama : ajax.js untuk menghubungkan halaman utama dengan API, kode sumbernya seperti di bawah ini :

$( document ).ready(function() {

var url = "http://www.belajar.local/AJAX-CRUD/";
var page = 1;
var current_page = 1;
var total_page = 0;
var is_ajax_fire = 0;

manageData();

/* tampilkan data */
function manageData() {
    $.ajax({
        dataType: 'json',
        url: url+'api/read.php',
        data: {page:page}
    }).done(function(data){
    	total_page = Math.ceil(data.total/10);
    	current_page = page;

    	$('#pagination').twbsPagination({
	        totalPages: total_page,
	        visiblePages: current_page,
	        onPageClick: function (event, pageL) {
	        	page = pageL;
                if(is_ajax_fire != 0){
	        	  getPageData();
                }
	        }
	    });

    	manageRow(data.data);
        is_ajax_fire = 1;

    });

}

/* tampilkan  data */
function getPageData() {
	$.ajax({
    	dataType: 'json',
    	url: url+'api/read.php',
    	data: {page:page}
	}).done(function(data){
		manageRow(data.data);
	});
}


/* tambahkan data baru pada table */
function manageRow(data) {
	var	rows = '';
	$.each( data, function( key, value ) {
	  	rows = rows + '<tr>';
	  	rows = rows + '<td>'+value.user_name+'</td>';
	  	rows = rows + '<td>'+value.user_email+'</td>';
                rows = rows + '<td>'+value.user_address+'</td>';
	  	rows = rows + '<td data-id="'+value.user_id+'">';
        rows = rows + '<button data-toggle="modal" data-target="#edit-user" class="btn btn-primary btn-sm edit-user"> <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> Edit</button> ';
        rows = rows + '<button class="btn btn-danger btn-sm remove-user"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Hapus</button>';
        rows = rows + '</td>';
	  	rows = rows + '</tr>';
	});

	$("tbody").html(rows);
}

/* tambah user */
$(".crud-submit").click(function(e){
    e.preventDefault();
    var form_action = $("#create-user").find("form").attr("action");
    var user_name = $("#create-user").find("input[name='user_name']").val();
    var user_email = $("#create-user").find("input[name='user_email']").val();
    var user_address = $("#create-user").find("input[name='user_address']").val();

    if(user_name != '' && user_email != '' && user_address != ''){
        $.ajax({
            dataType: 'json',
            type:'POST',
            url: url + form_action,
            data:{user_name:user_name, user_email:user_email, user_address:user_address}
        }).done(function(data){
            $("#create-user").find("input[name='user_name']").val('');
            $("#create-user").find("input[name='user_email']").val('');
            $("#create-user").find("input[name='user_address']").val('');
            getPageData();
            $(".modal").modal('hide');
            alert('Data berhasil ditambah')
        });
    }else{
        alert('Ada data yang kosong')
    }


});

/* hapus user */
$("body").on("click",".remove-user",function(){
    var user_id = $(this).parent("td").data('id');
    var c_obj = $(this).parents("tr");

    $.ajax({
        dataType: 'json',
        type:'POST',
        url: url + 'api/delete.php',
        data:{user_id:user_id}
    }).done(function(data){
        c_obj.remove();
        getPageData();
        alert('Data berhasil dihapus')
    });

});


/* Edit user */
$("body").on("click",".edit-user",function(){

    var user_id = $(this).parent("td").data('id');
    var user_name = $(this).parent("td").prev("td").prev("td").prev("td").text();
    var user_email = $(this).parent("td").prev("td").prev("td").text();
    var user_address = $(this).parent("td").prev("td").text();
    $("#edit-user").find("input[name='user_name']").val(user_name);
    $("#edit-user").find("input[name='user_email']").val(user_email);
    $("#edit-user").find("input[name='user_address']").val(user_address);
    $("#edit-user").find("input[name='user_id']").val(user_id);

});


/* Update user */
$(".crud-edit").click(function(e){

    e.preventDefault();
    var form_action = $("#edit-user").find("form").attr("action");
    var user_name = $("#edit-user").find("input[name='user_name']").val();
    var user_email = $("#edit-user").find("input[name='user_email']").val();
    var user_address = $("#edit-user").find("input[name='user_address']").val();
    var user_id = $("#edit-user").find("input[name='user_id']").val();

    if(user_name != '' && user_email != '' && user_address != ''){
        $.ajax({
            dataType: 'json',
            type:'POST',
            url: url + form_action,
            data:{user_name:user_name, user_email:user_email, user_address:user_address,user_id:user_id}
        }).done(function(data){
            getPageData();
            $(".modal").modal('hide');
            alert('Data berhasil diedit')
        });
    }else{
        alert('Ada data yang kosong')
    }

});
});

Silakan dicoba 🙂



Demikianlah Artikel MEMBUAT APLIKASI CRUD SEDERHANA AJAX JQUERY PHP MYSQL

Sekianlah artikel MEMBUAT APLIKASI CRUD SEDERHANA AJAX JQUERY PHP MYSQL kali ini, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sampai jumpa di postingan artikel lainnya.

Anda sekarang membaca artikel MEMBUAT APLIKASI CRUD SEDERHANA AJAX JQUERY PHP MYSQL dengan alamat link https://dev-create.blogspot.com/2023/08/membuat-aplikasi-crud-sederhana-ajax.html