Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Pencarian Combo Box tidak berfungsi
assalamualaikum, selamat pagi saya minta pencerahan nya.. disini saya buat 2 pencarian memakai Combo Box akan tetapi yang berfungsi hanya satu saja sedangkan yang satunya lagi query datanya gak muncul.... yang berjalan hanya logika yang pertama saja yang if(isset($_REQUEST['grup']) && $_REQUEST['grup']<>"")
if(isset($_REQUEST['grup']) && $_REQUEST['grup']<>""){
$grup=$_REQUEST['grup'];
$sql = ("SELECT aa_name,ci_name,ae_name,ac_name,CL_ID,CL_Cid,CL_Level,CL_Overdue,CL_Mate,CL_Bym,CL_Eym,CL_Amount,CL_CO,CL_DN,CL_Cury,CL_Date,CL_Memo,CL_Approver,CL_Apprdate,CL_Log, CL_Flag,CI_Nick,CD_SM,CD_SA FROM [CUST_LOCK]left join [CUST_INFO] on CL_Cid = CI_ID join [CUST_DEFI] on CL_Cid = CD_Cid join [appl_cury] on cl_cury = ac_id
join [appl_empl] on cd_sm = ae_id join [appl_area] on ae_area=aa_id where (CL_CO<>'Y' OR CL_DN<>'Y') and (ae_name='$grup') ");
$result = mssql_query($sql);
}elseif (isset($_REQUEST['area']) && $_REQUEST['area']<>"") {
$area=$_REQUEST['area'];
$sql = ("SELECT aa_name,ci_name,ae_name,ac_name,CL_ID,CL_Cid,CL_Level,CL_Overdue,CL_Mate,CL_Bym,CL_Eym,CL_Amount,CL_CO,CL_DN,CL_Cury,CL_Date,CL_Memo,CL_Approver,CL_Apprdate,CL_Log, CL_Flag,CI_Nick,CD_SM,CD_SA FROM [CUST_LOCK] left join [CUST_INFO] on CL_Cid = CI_ID join [CUST_DEFI] on CL_Cid = CD_Cid join [appl_cury] on cl_cury = ac_id
join [appl_empl] on cd_sm = ae_id join [appl_area] on ae_area=aa_id where (CL_CO<>'Y' OR CL_DN<>'Y') and (aa_name='$area') ");
$result = mssql_query($sql);
}else{
//jika tidak ada pencarian pakai in
$sql = ("SELECT aa_name,ae_area,ci_name,ae_name,ac_name,CL_ID,CL_Cid,CL_Level,CL_Overdue,CL_Mate,CL_Bym,CL_Eym,CL_Amount,CL_CO,CL_DN,CL_Cury,CL_Date,CL_Memo,CL_Approver,CL_Apprdate,CL_Log, CL_Flag,CI_Nick,CD_SM,CD_SA FROM [CUST_LOCK] left join [CUST_INFO] on CL_Cid = CI_ID join [CUST_DEFI] on CL_Cid = CD_Cid join [appl_cury] on cl_cury = ac_id
join [appl_empl] on cd_sm = ae_id join [appl_area] on ae_area=aa_id where (CL_CO<>'Y' OR CL_DN<>'Y') ");
$result = mssql_query($sql);
}
2 Jawaban:
coba pake cara ini, mungkin lebih ringkas <pre> $add=""; if(isset($_REQUEST['grup']) && $_REQUEST['grup']<>""){ $grup=$_REQUEST['grup']; $add.= " and (ae_name='$grup') "; } if (isset($_REQUEST['area']) && $_REQUEST['area']<>"") { $area=$_REQUEST['area']; $add.= " and (aa_name='$area') "; } $sql = ("SELECT aa_name,ae_area,ci_name,ae_name,ac_name,CL_ID,CL_Cid,CL_Level,CL_Overdue,CL_Mate,CL_Bym,CL_Eym,CL_Amount,CL_CO,CL_DN,CL_Cury,CL_Date,CL_Memo,CL_Approver,CL_Apprdate,CL_Log, CL_Flag,CI_Nick,CD_SM,CD_SA FROM [CUST_LOCK] left join [CUST_INFO] on CL_Cid = CI_ID join [CUST_DEFI] on CL_Cid = CD_Cid join [appl_cury] on cl_cury = ac_id join [appl_empl] on cd_sm = ae_id join [appl_area] on ae_area=aa_id where (CL_CO<>'Y' OR CL_DN<>'Y') " . $add); $result = mssql_query($sql); </pre>
Tanggapan
jadi tidak berjalan dua duanya bang..
coba echo $sql, trus jalankan di sqlservernya. space2 juga dihapus kalau ada.
kalo d echo sqll nya jalan bang, tapi pas proses pencarian query ga kebaca
request group / area kosong mungkin, jadi tidak masuk if.
saya gabung requst nya bisa tapi data muncul semua.. jadi code where kondisi batasan data yang muncul malah tidak berfungsi wkwk
<pre>
if (isset($_REQUEST['sales']) && $_REQUEST['sales']<>" "){
if (isset($_REQUEST['area']) && $_REQUEST['area']<>" "){
$sales=$_REQUEST['sales'];
$area=$_REQUEST['area'];
$sql= ("SELECT aa_name,ci_name,ae_name,ac_name,CL_ID,CL_Cid,CL_Level,CL_Overdue,CL_Mate,CL_Bym,CL_Eym,CL_Amount,CL_CO,CL_DN,CL_Cury,CL_Date,CL_Memo,CL_Approver,CL_Apprdate,CL_Log, CL_Flag,CI_Nick,CD_SM,CD_SA FROM [CUST_LOCK] left join [CUST_INFO] on CL_Cid = CI_ID join [CUST_DEFI] on CL_Cid = CD_Cid join [appl_cury] on cl_cury = ac_id join [appl_empl] on cd_sm = ae_id join [appl_area] on ae_area=aa_id where (CL_CO<>'Y' OR CL_DN<>'Y') and ae_name='$sales' or aa_name='$area' ");
$result = mssql_query($sql);
}
}else{
// jika tidak ada pencarian pakai in
$sql = ("SELECT aa_name,ae_area,ci_name,ae_name,ac_name,CL_ID,CL_Cid,CL_Level,CL_Overdue,CL_Mate,CL_Bym,CL_Eym,CL_Amount,CL_CO,CL_DN,CL_Cury,CL_Date,CL_Memo,CL_Approver,CL_Apprdate,CL_Log, CL_Flag,CI_Nick,CD_SM,CD_SA FROM [CUST_LOCK] left join [CUST_INFO] on CL_Cid = CI_ID join [CUST_DEFI] on CL_Cid = CD_Cid join [appl_cury] on cl_cury = ac_id join [appl_empl] on cd_sm = ae_id join [appl_area] on ae_area=aa_id where (CL_CO<>'Y' OR CL_DN<>'Y') ");
$result = mssql_query($sql);
}
</pre>