Insert data di codeigniter

Permisi mau bertanya soal insert data di codeigniter. Data no_antrian ini pengennya bisa nambah kalau button ambil antrian anda diklik. Lalu menuju halaman berikutnya yang bisa menampilkan no_antrian yang diambil

Model

 public function getAntrianUmum()
    {
        $id_user = $this->session->userdata("session_id");
        $tanggal = date("Y-m-d");
        $sql = "SELECT MAX(no_antrian) AS kode FROM tb_periksa WHERE tanggal=CURRENT_DATE() AND id_poli = 1";
        $data = $this->db->query($sql);
        $tambah = $data['kode'];
        $antrian = (int) $tambah;
        $antrian++;
        $query = "INSERT INTO tb_periksa(id_periksa, id_user, id_poli, tanggal, no_antrian, id_status_periksa, id_status_obat)
        VALUES ('', '$id_user', '1', '$tanggal', '$antrian', '1','1')";
        return $this->db->query($query);
    }

Controller

public function Antrian()
    {

        $data['jumlahAUmum'] = $this->Dashboard_model->getAntrianUmum();
        $this->template->tampil('Pasien/pAntrian_view', $data);
    }

View

<tr>
      <td> </td>
      <td align="center"><h1>A - <?php echo $umum[0]['ambil']; ?></h1></td>
      <td> </td>
    </tr>

Ketika dicoba no_antrian nya yang masuk 1 terus tidak bisa bertambah, apa ada yang salah ya di codingnya? Terima kasih

avatar ratna712
@ratna712

4 Kontribusi 0 Poin

Diperbarui 3 tahun yang lalu

2 Jawaban:

<img src='https://i.ibb.co/zmHFG1t/test.png'>

Bisa Pakai Count Ka,

Jadi misal di tabel antrian sudah masuk 1 antrian..

Maka tinggal SELECT COUNT(field name) AS kode FROM table_xxxx

Boleh juga di kasih casting biar aman aja...

Kemudian di halaman selanjutnya Count yang di beri alias sebagai kode, ditambahkan satu...

Kalau pakai max juga bisa, tapi baiknya diberi primary key dan auto increment. dan pastinya sudah ada data yang masuk tentunya...

<pre> &lt;?php // $x = $this-&gt;m_antrian-&gt;get_antrian_umum(); // $x = null; $x = array( 'antrian_id' =&gt; 10 ); echo (int)$x; ?&gt; </pre>

Kalau belum berhasil juga. coba dicek var $x nya itu tipe kembalian nya apa ka...

Passing data ke view juga perlu diperhatikan ka..

Kalo aku biasanya pake array..

<pre> &lt;?php // $x = null; $dataset = array( 'antrian_id' =&gt; 10 ); $this-&gt;load-&gt;view('v_antrian', $dataset); ?&gt; </pre>

Nanti di view langsung aja tampilin $antrian_id...

Semoga membantu ^_^..

avatar momoji
@momoji

108 Kontribusi 44 Poin

Dipost 3 tahun yang lalu

Tanggapan

jadi ditambah 1nya di view? no_antrian ini masuk field kalau di database, sudah ada primary nya di tabel

Iya ka, itu berlaku bila ada user lain yang ambil antrian..

Coba perhatikan kodingan kaka.

Gak ada yang salah si kayaknya, cuman return nya itu loh

<pre> public function getAntrianUmum() { $id_user = $this-&gt;session-&gt;userdata("session_id"); $tanggal = date("Y-m-d"); $sql = "SELECT MAX(no_antrian) AS kode FROM tb_periksa WHERE tanggal=CURRENT_DATE() AND id_poli = 1"; $data = $this-&gt;db-&gt;query($sql); $tambah = $data['kode']; $antrian = (int) $tambah; $antrian++; $query = "INSERT INTO tb_periksa(id_periksa, id_user, id_poli, tanggal, no_antrian, id_status_periksa, id_status_obat) VALUES ('', '$id_user', '1', '$tanggal', '$antrian', '1','1')"; return $this-&gt;db-&gt;query($query); //return nya result pas insert. Bukan pas select. //kalau return nya pas insert, kan hasilnya array seperti : affected_rows(), fetch_array(), dll } </pre>

Trus kalo return nya sepertinya tipe kembalian array...

Disitu letak kesalahan nya kak..

Kalau yang di return itu $antrian, nanti kan muncul nomor antrian nya ka.

Dan di return $this-&gt;db-&gt;query($query);

Terakhir mengeksekusi query string

$query = "INSERT INTO tb_periksa(id_periksa, id_user, id_poli, tanggal, no_antrian, id_status_periksa, id_status_obat) VALUES ('', '$id_user', '1', '$tanggal', '$antrian', '1','1')";

Berarti result dari query string terakhir itu yang dikembalikan.. sedangkan kembalian dari return yang di eksekusi query string terakhir kan insert. Bukan select..

Cuma masalah pengembalian ka..

Coba nanti di vardump aja tipe kembaliannya..

Pasti ketemu ka ^_^

avatar momoji
@momoji

108 Kontribusi 44 Poin

Dipost 3 tahun yang lalu

Tanggapan

oke kak terima kasih, di coca cek2 lagi. maklum newbie heheh

Login untuk ikut Jawaban