membuat dropdown <select><option> yang datanya diambil dari database pada codeigniter php

bagaimana membuat dropdown <select> yang datanya diambil dari database pada php framework codeigniter ?

Kasus: jadi ceritanya user menginputkan nomor NIK, Namanya, dan harus memilih jenis layanan (KTP, KK, dsb) data jenis layanan diambil dari table layanan dan ditampilkan dalam bentuk dropdown dalam form inputan tersebut.

view:

  <label>Jenis Layanan</label>
                  <select class="form-control" name="layanan">
                  <?php foreach($layanan as $l){ ?>
                  <option value="<?php echo $l['id_layanan']; ?>"><?php echo $l['nama_layanan']; ?>   </option>
                  <?php } ?>
                  </select>

Model:

 <?php
class model_layanan extends CI_Model{
	public function __construct()
	{
    	parent::__construct();
	}

	function get_layanan()
	{
    	$query = $this->db->query('SELECT * FROM layanan');
    	return $this->db->query($query)->result();
	}
}
?>

Controller:

 public function insert(){

		$nik=$this->input->post('nik');
		$nama_pengadu=$this->input->post('nama_pengadu');
		$deskripsi=$this->input->post('deskripsi');
		$data['layanan']=$this->model_layanan->get_layanan();

		//$data=array('select_option'=>$this->model_aduan->get_layanan());


		$data=array(
			'nik'=>$nik,
			'nama_pengadu'=>$nama_pengadu,
			'deskripsi'=>$deskripsi

		);
		//$this->load->view('home', $data);
		$this->model_aduan->insert_data($data, 'aduan');
		redirect(base_url('home'));

		$data['layanan']=$this->model_aduan->get_layanan();
		$this->load->view('home',$data);
	}

Masalah : datanya belum keluar pada dropdown yang saya buat begini. Mohon Bantuannya terima kasih

avatar yogatanaya
@yogatanaya

10 Kontribusi 2 Poin

Diperbarui 4 tahun yang lalu

3 Jawaban:

Sebenarnya saya tidak begitu paham dengan kasusnya. Cuman kalo boleh saran, Saya lebih suka modelnya get_layanan nya seperti ini:


function get_layanan(){
    $query = $this->db->get('layanan');
    return $query->result_array();
}

Kemudian untuk controllernya, fungsi insert sepertinya harus dipecah lagi, antara insert data dan store data untuk ditampilkan. Jadi controller home nya, kira2 seperti ini


public function index(){
	$data['layanan']=$this->model_aduan->get_layanan();
	$this->load->view('home',$data);
}

public function insert(){

	$data = array(
		'nik' => $this->input->post('nik'),
		'nama_pengadu' => $this->input->post('nama_pengadu'),
		'deskripsi' => $this->input->post('deskripsi'),
		'layanan' => $this->input->post('layanan')
	);

	$this->model_aduan->insert_data($data, 'aduan');
	redirect('home');
}

avatar renopaslah
@renopaslah

4 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

<label>Jenis Layanan</label> <select class="form-control" name="layanan"> <?php foreach($layanan as $l){ ?> <option value="<?php echo $l['id_layanan']; ?>"><?php echo $l['nama_layanan']; ?> </option> <?php } ?> </select>

mohon dijawab, memang beda masalah dengn masnya. untuk menu select ini bagaimana agar data yg masuk kedatabase bukan id_layanan tapi nama_layanan,saya membuat untuk yg provinsi dan kota namun yg masuk ke database malah idnya bukan nama provincenya atau kotanya

avatar sahruls
@sahruls

1 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

klau ingin masuk nama layanan bukan id nya masalahnya ada di value option nya seharusnya seperti dibawah <pre> &lt;option value="&lt;?php echo $l['nama_layanan']; ?&gt;"&gt;&lt;?php echo $l['nama_layanan']; ?&gt; &lt;/option&gt; </pre>

avatar Terra
@Terra

81 Kontribusi 39 Poin

Dipost 4 tahun yang lalu

Login untuk ikut Jawaban