Selama mengembangkan proyek PHP, terkadang kita perlu mengimplementasikan edit di tempat atau pengeditan sebaris untuk memungkinkan pengguna mengedit konten di halaman yang sama dengan mengkliknya. Dalam tutorial ini kita akan menjelaskan cara menangani edit di tempat atau pengeditan inline menggunakan jQuery dengan PHP dan MySQL Show Anda mungkin juga suka
Dalam tutorial ini kita akan menggunakan HTML contenteditable Attribute untuk menangani inline editing. Di sini kita akan menetapkan nilai Atribut contenteditable sebagai true seperti contenteditable="true" yang akan memungkinkan pengguna untuk mengedit konten saat mengklik konten di halaman Setiap kali pengguna akan mengedit atau mengubah data kolom dan fokus, itu akan memanggil fungsi PHP menggunakan Ajax untuk memperbarui data yang diubah ke dalam tabel MySQL
Langkah 1. Anda perlu memasukkan file css bootstrap dan perpustakaan jQuery ke bagian kepala halaman <script type="text/javascript" src="jquery-1.11.1.min.js"></script> <link rel="stylesheet" type="text/css" href="bootstrap.min.css"/> Langkah 2. Anda perlu membuat file koneksi db_connect. php untuk koneksi database MySQL dengan PHP $servername = "localhost"; $username = "root"; $password = ""; $dbname = "phpzag_demos"; $conn = mysqli_connect($servername, $username, $password, $dbname) or die("Connection failed: " . mysqli_connect_error());_ Langkah 3. Anda perlu mendapatkan record dari tabel MySQL dan menampilkannya di halaman dengan opsi pengeditan di index. php <?php $sql = "SELECT id, employee_name, employee_salary, employee_age FROM employee LIMIT 10"; $resultset = mysqli_query($conn, $sql) or die("database error:". mysqli_error($conn)); ?> <table class="table table-condensed table-hover table-striped bootgrid-table"> <thead> <tr> <th>Employee Name</th> <th>Salary</th> <th>Age</th> </tr> </thead> <tbody> <?php while( $rows = mysqli_fetch_assoc($resultset) ) { ?> <tr> <td contenteditable="true" data-old_value="<?php echo $rows["employee_name"]; ?>" onBlur="saveInlineEdit(this,'employee_name','<?php echo $rows["id"]; ?>')" onClick="highlightEdit(this);"><?php echo $rows["employee_name"]; ?></td> <td contenteditable="true" data-old_value="<?php echo $rows["employee_salary"]; ?>" onBlur="saveInlineEdit(this,'employee_salary','<?php echo $rows["id"]; ?>')" onClick="highlightEdit(this);"><?php echo $rows["employee_salary"]; ?></td> <td contenteditable="true" data-old_value="<?php echo $rows["employee_age"]; ?>" onBlur="saveInlineEdit(this,'employee_age','<?php echo $rows["id"]; ?>')" onClick="highlightEdit(this);"><?php echo $rows["employee_age"]; ?></td> </tr> <?php } ?> </tbody> </table> Pada kode di atas, saya telah menampilkan catatan karyawan dengan atribut HTML contenteditable="true" untuk membuat kolom dapat diedit dan juga atribut data-old_value untuk menyimpan nilai lama untuk diperiksa sebelum membuat permintaan Ajax untuk memperbarui nilai yang diubah dalam tabel database MySQL. Saya telah menggunakan fungsi saveInlineEdit() pada acara blur untuk memperbarui nilai yang diubah dan fungsi highlightEdit() untuk menyorot kolom dalam mode edit Langkah 4. Sekarang perlu membuat permintaan jQuery AjAX ke fungsi PHP untuk memperbarui data yang diubah ke MySQL menggunakan skrip PHP function saveInlineEdit(editableObj,column,id) { // no change change made then return false if($(editableObj).attr('data-old_value') === editableObj.innerHTML) return false; // send ajax to update value $(editableObj).css("background","#FFF url(loader.gif) no-repeat right"); $.ajax({ url: "saveInlineEdit.php", type: "POST", dataType: "json", data:'column='+column+'&value='+editableObj.innerHTML+'&id='+id, success: function(response) { // set updated value as old value $(editableObj).attr('data-old_value',editableObj.innerHTML); $(editableObj).css("background","#FDFDFD"); }, error: function () { console.log("errr"); } }); } Langkah 5. Akhirnya memperbarui tabel database MySQL karyawan dengan data yang diubah di saveInlineEdit. php <?php $sql = "UPDATE employee set " . $_POST["column"] . " = '".$_POST["value"]."' WHERE id=".$_POST["id"]; mysqli_query($conn, $sql) or die("database error:". mysqli_error($conn)); ?>_ Langkah 6. Untuk menjalankan contoh ini, Anda memerlukan tabel database MySQL dengan catatan. Jadi Anda hanya perlu menjalankan kode ini untuk membuat tabel MySQL dan memasukkan data untuk menjalankan contoh CREATE TABLE IF NOT EXISTS 'employee' ( 'id' int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key', 'employee_name' varchar(255) NOT NULL COMMENT 'employee name', 'employee_salary' double NOT NULL COMMENT 'employee salary', 'employee_age' int(11) NOT NULL COMMENT 'employee age', PRIMARY KEY ('id') ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='datatable demo table' AUTO_INCREMENT=58 ; INSERT INTO 'employee' ('id', 'employee_name','employee_salary', 'employee_age') VALUES (1, 'Tiger Nixon', 320800, 61), (2, 'Garrett Winters', 170750, 63), (3, 'Ashton Cox', 86000, 66), (4, 'Cedric Kelly', 433060, 22), (5, 'Airi Satou', 162700, 33), (6, 'Brielle Williamson', 372000, 61), (7, 'Herrod Chandler', 137500, 59), (8, 'Rhona Davidson', 327900, 55), (9, 'Colleen Hurst', 205500, 39), (10, 'Sonya Frost', 103600, 23); Anda mungkin juga suka
Ini adalah contoh sederhana untuk menerapkan fungsionalitas edit sebaris dalam proyek PHP Anda dengan jQuery. Anda dapat melihat demo langsung dari tautan Demo. Jika Anda ingin mengunduh skrip demo yang sedang berjalan, Anda dapat mengunduh skrip dari tautan Unduh di bawah ini Bagaimana cara mengambil data dari MySQL menggunakan jQuery ajax dan php?Lakukan permintaan AJAX GET untuk mendapatkan data dari server . Buat tabel MySQL dan masukkan data Buat formulir HTML dan skrip jQuery untuk melakukan AJAX GET Request ke PHP MySQL Server Tulis skrip PHP untuk menerima permintaan dari klien dan mengambil data dari database MySQL dan mengirimkan hasil yang disandikan JSON ke klien Bagaimana cara mengedit sebaris di php?PHP Datagrid dengan Inline Editing (index. . Data anggota akan diambil dari database dan dicantumkan dalam tabel data Tombol Edit dan Hapus ditambahkan ke setiap baris tabel Saat mengklik tombol Edit, sel tabel akan dapat diedit dan tombol simpan akan muncul di baris ini Bagaimana cara memasukkan data ke dalam database MySQL menggunakan jQuery AJAX php?Memasukkan Data Menggunakan Ajax di PHP . Buat Basis Data MySQL. Buat database dan tabel MySQL dengan nama berikut. . Hubungkan PHP ke Database MySQL. Anda harus menghubungkan PHP ke database MySQL dengan kredensial koneksi yang valid –. Buat Formulir HTML. . MASUKKAN Data tanpa Memuat Ulang Halaman Menggunakan Ajax. . Masukkan Data Menggunakan PHP Bagaimana cara memperbarui data dalam database menggunakan Ajax dan php?Cara Memperbarui Data Menggunakan Ajax di PHP . Hubungkan Database MySQL ke PHP Ambil Data Dari Basis Data Tampilkan Data dalam Tabel HTML Perbarui Data menggunakan Ajax Perbarui Data Menggunakan PHP Buat Formulir Pembaruan Menggunakan HTML |