Postingan lainnya
Bagaimana cara menggunakan autofill dari database berbeda
Jadi gini temen2, saya sedang ingin membuat form auto fill dari satu tabel database berbeda, tapi saya bingung cara memanggil field-field'nya.
Contoh kasus:
Dengan konsep MVC Codeigniter3 saya punya dua menu form, saya sebut form A dan form B. Alurnya jadi form A kita isi terlebih dahulu, dengan begitu setelah kita save data dari isian tersebut masuk ke tabel database milik form A.
Setelah itu kita mau mengisi data di form B, tapi beberapa isian kolom di form B akan menggunakan autofill yang datanya diambil dari tabel database form A. Autofill ini akan berjalan ketika salah satu kolom form di form B diisi (istilahnya keyword), nah begitu keyword ini cocok dengan data dari tabel form A maka kolom dibawahnya akan terisi otomatis (autofill aktif). Maka data dari autofill ini bisa disimpan dan sah menjadi data baru milik form B masuk ke tabel database'nya.
So, saya masih belum berhasil hingga sekarang. Ketika autofill ini saya buat dari form dan tabel database yang sama masih mau muncul, tapi anehnya ketika saya coba praktekan persis dengan contoh kasus diatas autofill tidak mau berhasil (tidak muncul). Tolong bagi teman-teman yang tahu case saya diatas, terimakasih.
Tanggapan
Semoga membantu
2 Jawaban:
<form id="formB" method="post"> <label>Keyword (NIK):</label> <input type="text" name="keyword" id="keyword" required> <button type="button" id="autofillBtn">Autofill</button> <br> <label>Nama (Autofill):</label> <input type="text" name="nama" id="nama" readonly> <br> <label>Section (Autofill):</label> <input type="text" name="section" id="section" readonly> <br> <label>Posisi (Autofill):</label> <input type="text" name="posisi" id="posisi" readonly> <br> <!-- Kolom-kolom lainnya diisi secara manual --> <label>Kolom Manual 1:</label> <input type="text" name="kolom_manual_1" required> <br> <label>Kolom Manual 2:</label> <input type="text" name="kolom_manual_2" required> <br> <!-- Tombol untuk menyimpan data ke database --> <button type="submit" name="submit">Submit</button> </form> Tambahkan script jQuery untuk melakukan AJAX request pada halaman yang sama: html Copy code <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(document).ready(function() { $("#autofillBtn").on("click", function() { var keyword = $("#keyword").val(); if (keyword !== "") { $.ajax({ url: "autofill_data_form_a.php", // Script PHP untuk mencari data di "Form A" method: "POST", data: { keyword: keyword }, dataType: "json", success: function(data) { if (data !== null) { $("#nama").val(data.nama); $("#section").val(data.section); $("#posisi").val(data.posisi); } else { alert("Data dengan keyword tersebut tidak ditemukan!"); } }, error: function() { alert("Terjadi kesalahan pada server!"); } }); } else { alert("Silakan isi keyword terlebih dahulu!"); } }); }); </script> Buat script PHP (autofill_data_form_a.php) untuk melakukan query ke database dan mengambil data dari "Form A" berdasarkan keyword (NIK) yang diinputkan: php Copy code <?php // Koneksi ke database include('koneksi.php');
if (isset($_POST['keyword'])) { $keyword = $_POST['keyword']; $query = "SELECT nama, section, posisi FROM form_a WHERE nik = '$keyword'"; $result = mysqli_query($koneksi, $query); $data = mysqli_fetch_assoc($result);
// Mengembalikan data dalam format JSON echo json_encode($data); } ?> Di halaman "form_b.php", setelah mengisi data pada "Form B" secara lengkap, lakukan proses penyimpanan data tersebut ke tabel database "Form B". Anda dapat menggunakan proses penyimpanan data yang sama seperti pada contoh sebelumnya. Dengan langkah-langkah di atas, Anda dapat mengimplementasikan alur autofill antara "Form A" dan "Form B". Ketika mengisi keyword pada "Form B", data dari "Form A" yang sesuai akan diambil dan otomatis diisi pada kolom-kolom yang menggunakan teknik autofill. Setelah itu, data dari "Form B" yang sudah lengkap dapat disimpan ke tabel database "Form B".
Alur overviewnya:
- Gunakan ajax, untuk request ke database
- Tentukan event. Kapan ia minta data ke table A
- Contoh pada saat input di salah satu kolom Form B terisi, maka request aja ke table A
- Tampilkan hasil ke Form B
Bagiamana kalau ada error/masalah?
- Deteksi apa masalahnya
- Cek klik kanan > inspect > tab console
- atau lebih detail > inspect > Network, baca di bagian yang error, apa errornya