Cara input data dari tabel lain dalam bentuk pencarian/search bukan dropdown

seperti biasanya jika ingin menambahkan sebuah data, banyak menggunakan dropdown, yang jadi masalah jika data banyak sekali contoh: data anggota perpus dan data buku. kasus saya saya ingin menambahkan data peminjaman buku disitu ada form input anggota tapi saya ingin rubah dengan cara search data tabel anggota yang akan muncul di modal .

Controller:
// CRUD TAMBAH
	public function tambah()
	{
		$session = $this->session->userdata('id');
		$data = array(
			'title' => '',
			'subtitle' => 'Tambah Peminjaman',
			'user' => $this->db->get_where('tb_user', ['id_user' => $session])->row_array(),
			'pinjam' => $this->m_data->get_data('tb_pinjam')->result(),
			'kodePinjam' => $this->m_kodematis->kodePinjam(),
			'anggota' => $this->m_data->get_data('tb_anggota')->result(),
			'konten'	  =>'peminjaman/v_add',
			'menu'  =>'menu/sidebar'
		);
		$this->load->view('layout/v_wrapper', $data);	
	}


View: tambah peminjaman buku
<div class="content-page">
	<div class="content">

		<!-- Start container-fluid -->
		<div class="container-fluid">
			<div class="row">
				<div class="col-12">
					<div>
						<h4 class="header-title mb-3">Welcome !</h4>
					</div>
				</div>
			</div>
			<!-- end row -->

			<!-- form start -->
			<form method="post" action="<?php echo base_url('peminjaman/aksi') ?>" enctype="multipart/form-data">

				<!-- Main content -->
				<section class="content">
					<div class="container-fluid">
						<div class="row">
							<div class="col-md-6">
								<div class="card card-primary">					
									<div class="card-header">
										<h3 class="card-title">Form Peminjaman</h3>
									</div>

									<div class="card-body">
										<div class="row">
											<div class="col-sm-12">
												<div class="form-group">
													<label for="nama">No. Peminjaman *</label>
													<input type="text" name="no_pinjam" id="no_pinjam" class="form-control" value="<?php echo $kodePinjam; ?>" readonly="">
												</div>
	[](https://link.com)
												<!-- ini biasanya saya pakai cara ini -->
												<div class="form-group">
													<label for="nama">Anggota</label>
													<select class="form-control" name="id_anggota">
														<option value="">- Pilih Anggota</option>
														<?php foreach($anggota as $row){ ?>
															<option <?php if(set_value('anggota') == $row->id_anggota){echo "selected='selected'";} ?> value="<?php echo $row->nama ?>"><?php echo $row->nama; ?></option>
														<?php } ?>
													</select>
												</div>

												<!-- ini kasus pertanyaan saya -->
												<div class="form-group">
													<label for="nama">Anggota</label>
													<div class="input-group">
														<span class="input-group-prepend">
															<button type="button" class="btn btn-primary waves-effect waves-light" data-toggle="modal" data-target="#myModal"><i class="fa fa-search"></i></button>
														</span>
														<input type="text" id="search-box" autocomplete="off" name="id_anggota" class="form-control" placeholder="Search">
													</div>
												</div>
												
												
											</div>                
										</div>
									</div>

								</div><!-- end card-primary -->
							</div><!--end col-md-6-->

avatar muhfanto
@muhfanto

1 Kontribusi 0 Poin

Diperbarui 7 bulan yang lalu

1 Jawaban:

Untuk mengimplementasikan pencarian/search data dari tabel lain dalam bentuk modal pada CodeIgniter, Anda perlu melakukan beberapa langkah. Berikut adalah panduan langkah demi langkah:

  1. Tampilkan Modal Pencarian: Di dalam view Anda, Anda sudah memiliki kode untuk menampilkan modal pencarian dengan tombol "Search." Modal ini akan digunakan untuk mencari anggota.

  2. Buat Fungsi Pencarian di Controller: Di dalam controller Anda, Anda perlu membuat sebuah fungsi yang akan menangani pencarian anggota. Misalnya, Anda bisa membuat fungsi bernama cariAnggota.

    public function cariAnggota()
    {
        // Lakukan pencarian anggota berdasarkan kata kunci yang diterima dari form modal
        $keyword = $this->input->post('keyword'); // Anda dapat mengambil kata kunci dari form modal
        $data['anggota'] = $this->m_data->cariAnggota($keyword); // Gantilah ini dengan metode pencarian yang sesuai dengan model Anda
    
        // Tampilkan hasil pencarian dalam bentuk tampilan view yang berbeda
        $this->load->view('peminjaman/v_hasil_cari_anggota', $data);
    }
    
  3. Buat Metode Pencarian dalam Model: Di dalam model Anda (misalnya, m_data), buat metode untuk melakukan pencarian anggota berdasarkan kata kunci.

    public function cariAnggota($keyword)
    {
        // Query pencarian anggota berdasarkan kata kunci
        $this->db->like('nama', $keyword); // Sesuaikan dengan nama kolom pada tabel anggota
        $query = $this->db->get('tb_anggota'); // Sesuaikan dengan nama tabel Anda
    
        return $query->result();
    }
    
  4. Tampilkan Hasil Pencarian dalam View: Buatlah view khusus (v_hasil_cari_anggota) untuk menampilkan hasil pencarian anggota. Di sini, Anda dapat menampilkan daftar anggota yang sesuai dengan kata kunci pencarian.

  5. Kembalikan Hasil Pencarian ke Form: Setelah pengguna memilih anggota dari hasil pencarian, Anda perlu mengisi input form dengan data anggota yang dipilih. Anda bisa menggunakan JavaScript untuk mengisi nilai input form sesuai dengan anggota yang dipilih dari modal.

Dengan langkah-langkah di atas, Anda dapat mengimplementasikan fitur pencarian anggota yang akan muncul di modal saat menambahkan data peminjaman buku. Pastikan untuk mengganti kode contoh dengan implementasi sesuai dengan struktur aplikasi Anda.

avatar adamajalah27
@adamajalah27

119 Kontribusi 40 Poin

Dipost 7 bulan yang lalu

Login untuk ikut Jawaban