codeigniter3 saat menampilkan data, select option dari table relasi tidak muncul sesuai id

halo, jadi saya ada 1 table (berobat) hasil relasi dari 4 table lain. saya sudah bisa create, read, delete. tetapi saya ada kendala saat edit.

saat saya klik edit, data data yang bukan dari relasi muncul sesuai id nya. tetapi 4 data relasi dari table lain ini datanya tidak muncul sesuai dengan id table berobat ini.berobat

setelah saya teliti, saya menemukan kendalanya.

berikut salah satu select option di form edit :

<select name="nama_pasien_id" class="form-select">
     <?php foreach($pasien as $p): ?>
         <option value="<?= $p->id ?>" <?= $p->id == $berobat->id ? 'selected' : '' ?>><?= $p->nama_pasien; ?></option>
     <?php endforeach ;?>
</select>

di value, sudah benar, id dari table pasien. lalu sebelah value, ada tag php yg berfungsi untuk menampilkan data selected sesuai id berobatnya. codenya berarti apabila id pasien sama dengan id berobat, dia akan selected. ini artinya apabila id berobat saya 1, dan id pasien saya 1, dia akan selected. tetapi apabila id berobat saya 2 dan id pasien saya 3 [id tidak sama] option tersebut tidak akan selected.

bagaimana cara agar berapapun id berobat & id table relasi lain walaupun tidak sama tetap akan selected sesuai id berobat saat di klik tombol edit?

model saya : Berobat_m.php

private $table = 'berobat';
public function edit($id, $table)
{
     return $this->db->where('id', $id)->get($table)->row();
}

controller : Berobat.php

public function edit($id)
{
     $this->load->model('Dokter_m', 'Obat_m', 'Pasien_m', 'Rs_Rujuk_m');
     $data['dokter'] = $this->Dokter_m->index();
     $data['obat'] = $this->Obat_m->index();
     $data['pasien'] = $this->Pasien_m->index();
     $data['rs_rujuk'] = $this->Rs_Rujuk_m->index();
     $data['berobat'] = $this->Berobat_m->edit($id, 'berobat');

     $this->load->view('template/header');
     $this->load->view('template/sidebar');
     $this->load->view('berobat/edit', $data);
     $this->load->view('template/footer');
}

salah satu model dari table relasi :

public function index()
{
     return $this->db->get('pasien')->result();
}
avatar zeinmukaffi
@zeinmukaffi

2 Kontribusi 1 Poin

Dipost 1 tahun yang lalu

1 Jawaban:

<div>problem solved. jadi di table berobat saya ada beberapa fields relasi, salah satunya adalah nama_pasien_id. field tsb membawa id dari table pasien. apabila nama_pasien_id adalah 1, maka 1 itu merupakan id dari data di table pasien.&nbsp;<br>jadi, salahnya adalah di code ini :</div><pre>&lt;select name="nama_pasien_id" class="form-select"&gt;
&lt;?php <em>foreach</em>($pasien as $p): ?&gt;
&lt;option value="&lt;?= $p-&gt;id ?&gt;" &lt;?= $p-&gt;id == $berobat-&gt;id ? 'selected' : '' ?&gt;&gt;&lt;?= $p-&gt;nama_pasien; ?&gt;&lt;/option&gt; &lt;?php <em>endforeach</em> ;?&gt; &lt;/select&gt;</pre><div>di optionnya saya menambahkan</div><pre>&lt;?= $p-&gt;id == $berobat-&gt;id ? 'selected' : '' ?&gt;</pre><div>&nbsp;seharusnya, bukan $berobat-&gt;id, melainkan $berobat-&gt;nama_pasien_id<br>jadi apabila id pasien sama dengan nama_pasien_id, option tsb akan selected. jadilah seperti ini :</div><pre>&lt;select name="nama_pasien_id" class="form-select"&gt;
&lt;?php <em>foreach</em>($pasien as $p): ?&gt;
&lt;option value="&lt;?= $p-&gt;id ?&gt;" &lt;?= $p-&gt;id == $berobat-&gt;nama_pasien_id ? 'selected' : '' ?&gt;&gt;&lt;?= $p-&gt;nama_pasien; ?&gt;&lt;/option&gt; &lt;?php <em>endforeach</em> ;?&gt; &lt;/select&gt;</pre>

avatar zeinmukaffi
@zeinmukaffi

2 Kontribusi 1 Poin

Dipost 1 tahun yang lalu

Tanggapan

thanks sudah sharing

Login untuk ikut Jawaban