Menampilkan data berdasarkan tanggal yang di pilih

Pertanyaan ini sebelumnya sudah ada yg ajukan, tapi jawabannya hanya memberikan query buildernya saja. Nah, sy berterima kasih banget yg sudah ngasih tau querynya untuk menampilkan data berdasarkan dua periode tanggal.

Saya sudah menerapkan query tadi tapi masih belum berhasil menampilkan datanya.

Berikut ini controllernya

public function barang_masuk() {
		$data['title'] = 'Laporan Data Barang Masuk';
		$keyword1 = $this->input->get('keyword1', true);
		$keyword2 = $this->input->get('keyword2', true);
		$data['masuk'] = $this->Laporan_model->data_barang_masuk(array($keyword1,$keyword2));
		$this->load->view('tema_admin/header', $data);
		$this->load->view('laporan/barang_masuk', $data);
		$this->load->view('tema_admin/footer');
	}

Berikut ini modelnya

public function data_barang_masuk($daterange) {
		$this->db->where('tgl >=', $daterange[0]);
		$this->db->where('tgl <=', $daterange[1]);
		return $this->db->get('barang_masuk')->result_array();
	}

Dan berikut ini viewnya

<form action="<?php echo base_url(); ?>laporan/barang_masuk" method="get">
                <div class="panel-heading">
                  <div class="row">
                    <div class="form-group col-md-5">
                      <label for="">Dari</label>
                      <input type="date" name="keyword1" class="form-control">
                    </div>
                    <div class="form-group col-md-5">
                      <label for="">Ke</label>
                      <input type="date" name="keyword2" class="form-control">
                    </div>
                  </div>
                  <div class="form-group">
                    <button type="submit" class="btn btn-primary btn-sm">Tampilkan</button>
                  </div>
                </div>
                </form>

Hasil dari baris kode di atas adalah sprti ini

masuk ke halaman nya aja langsung mnampilkan error sperti itu. Belum sampai mngklik tombol submitnya.

Terima kasih

avatar Ahmad554
@Ahmad554

95 Kontribusi 39 Poin

Diperbarui 4 tahun yang lalu

3 Jawaban:

itu parameter ke dua dari db get where nya gk kebaca deh kyknya, NULL, coba di controller nya di ganti jadi : <pre> public function barang_masuk() { $data['title'] = 'Laporan Data Barang Masuk'; $keyword1 = $this-&gt;input-&gt;get('keyword1', true); $keyword2 = $this-&gt;input-&gt;get('keyword2', true); $data['masuk'] = $this-&gt;Laporan_model-&gt;data_barang_masuk($keyword1,$keyword2); // modelnya biar nerima dua parameter $this-&gt;load-&gt;view('tema_admin/header', $data); $this-&gt;load-&gt;view('laporan/barang_masuk', $data); $this-&gt;load-&gt;view('tema_admin/footer'); } </pre>

model :

<pre> public function data_barang_masuk($keyword1,$keyword2) { $this-&gt;db-&gt;where('tgl &gt;=', $keyword1); $this-&gt;db-&gt;where('tgl &lt;=', $keyword2); return $this-&gt;db-&gt;get('barang_masuk')-&gt;result_array(); } </pre>

saya kurang yakin sih sama jawaban saya hehe, tpi coba aja dulu, siapa tau berhasil, Goodluck!

avatar ridwantanjung
@ridwantanjung

30 Kontribusi 14 Poin

Dipost 4 tahun yang lalu

sudah saya coba mas, tapi masih sama error nya

avatar Ahmad554
@Ahmad554

95 Kontribusi 39 Poin

Dipost 4 tahun yang lalu

Jawaban Terpilih

coba dicek dulu, apakah paramater ada isinya atau tidak. kalau ada isinya baru dipake di where <pre> public function data_barang_masuk($daterange) { if($daterange[0]) $this-&gt;db-&gt;where('tgl &gt;=', $daterange[0]); if($daterange[1]) $this-&gt;db-&gt;where('tgl &lt;=', $daterange[1]); return $this-&gt;db-&gt;get('barang_masuk')-&gt;result_array(); } </pre>

avatar dianarifr
@dianarifr

642 Kontribusi 316 Poin

Dipost 4 tahun yang lalu

Tanggapan

ok mas, terima kasih.. solved

Login untuk ikut Jawaban