Postingan lainnya
Fungsi if tidak berjalan
seperti judul yg udah dikasih, saya punya controller dan model, dimana si modelnya ini tidak menjalankan perintahnya. ini controllernya
function get_by_npm(){
$npm=$this->input->post('npm');
$nama=$this->input->post('nama');
$data=$this->model_mahasiswa->get_npm2($npm,$nama)->result();
echo json_encode($data);
}
dan ini modelnya
function get_npm2($npm, $nama){
$sql = $this->db->query("select * from mahasiswa");
if($npm)$sql.=" where npm = '$npm'";
if($nama)$sql.=" where nama = '$nama'";
die('gagal');
return $sql;
}
jadi iintinya saya pengen bikin filter data berdasarkan npm dan nama, tapi jika salah satu tidak diisi akan tetap bisa menampilkan berdasarkan filter mana yg dipake. mohon pencerahannya abang abang hehe
5 Jawaban:
<pre> function get_by_npm(){ $npm=$this->input->post('npm'); $nama=$this->input->post('nama'); $data=$this->model_mahasiswa->get_npm2($npm,$nama)->result(); echo json_encode($data); } </pre>
modelnya :
<pre>
function get_npm2($npm, $nama){
$sql = $this->db->query("select * from mahasiswa");
if(isset($npm)){
$sql.=" where npm = '$npm'";
}else {
$sql.=" where nama = '$nama'";
}
return $sql;
}
</pre>
Tanggapan
@Denny tetep ga bisa bang
Coba cek update jawaban saya
kalo pake else dia gamau bang malah error, kalo diganti pake if baru bisa tapi ya tetep ngeselect emua gitu
coba di var_dump(); dulu ada yang dipost tidak
<pre> function get_by_npm(){
$post = $this->input->post();
if ($post['npm'] != null AND $post['nama'] != null){ echo "query npm & nama"; } else if ($post['nama'] != null){ echo "query nama"; } else if ($post['npm'] != null){ echo "query npm"; } else { echo "npm dan nama kosong"; } </pre>
Kalau berhasil di echo baru ganti echonya dengan query <pre> function get_by_npm(){
$post = $this->input->post();
if ($post['npm'] != null AND $post['nama'] != null){ $data = $this->db->query('SELECT * FROM MAHASISWA WHERE npm =$post["npm"] AND nama=$post["nama"]')->result(); } else if ($post['nama'] != null){ $data = $this->db->query('SELECT * FROM MAHASISWA WHERE nama=$post["nama"]')->result(); } else if ($post['npm'] != null){ $data = $this->db->query('SELECT * FROM MAHASISWA WHERE npm=$post["npm"]')->result(); } else { echo "npm dan nama kosong"; } echo json_encode($data); </pre>
Tanggapan
tetap tidak bisa bang
tidak bisanya dmn? errornya apa biar di coba lagi, dan jangan mentah2 codenya di copy paste. sesuaikan dengan kerangka kode yang kamu buat
jadi mau diisi npm aja atau nama aja malah nampil semua
berarti logika if else kamu ada yang salah, di cek pelan2
eh ini aku baru paham bang, jadi bikin 2 function kan di modelnya? atau gimana?
tolong bantu cek yg kodingan saya dibawah bang.
ohiiya ini saya bikiin nya untuk di postman, jadi tidak ada view ya. ada beberapa yang menyarankan pake function berbeda, bisa saja memang lebih mudah seperti itu. tapi iini saya dimintanya di 1function saja.
@BudiGiponk gini bukan sih bang?
tolong koreksi dong bang variabel2nya masih aga ga paham nih
controllernya <pre> function get_by_npm(){
$npm=$this-&gt;input-&gt;post('npm');
$nama=$this-&gt;input-&gt;post('nama');
if ($npm != null AND $nama != null){
$sql = $this-&gt;db-&gt;query('SELECT * FROM MAHASISWA WHERE npm ="$npm" AND nama="$nama"')-&gt;result();
}
else if ($npm = null AND $nama != null)
{
$sql = $this-&gt;db-&gt;query('SELECT * FROM MAHASISWA WHERE nama="$nama"')-&gt;result();
$data=$this-&gt;model_mahasiswa-&gt;get_nama($nama)-&gt;result();
echo json_encode($data);
}
else if ($nama = null and $npm != null) {
$sql = $this-&gt;db-&gt;query('SELECT * FROM MAHASISWA WHERE npm="$npm"')-&gt;result();
$data = $this-&gt;model_mahasiswa-&gt;get_npm($npm)-&gt;result();
echo json_encode($sql);
}
else {
echo "npm dan nama kosong";
} } </pre>
trus modelnya saya bikin 2 function untuk select aja
abang abang terimakasih ternyata bisa wkwk hanya saja saya di api malah pake get yg seharusnya post, trus inputinnya di param bukannya di body haha maapin baru banget megang api