Php mysql双数据搜索
谁能告诉我这有什么问题吗Php mysql双数据搜索,php,mysql,Php,Mysql,谁能告诉我这有什么问题吗 $paramcari是需要搜索的值,它应该是a.status非0且非2的数据,但过滤器不工作,输出始终显示所有状态,无论是0、0还是2。。。我错过了什么 $sql="select a.*, b.*, d.*, e.*, f.*, j.*, k.*, DATE_FORMAT(a.tgldaftar,'%d %b %Y %H:%i') as tgldaftar, DATE_FORMAT(a.tglkeluar,'%d %b %Y %H:%i') as tglk
$paramcari
是需要搜索的值,它应该是a.status非0且非2的数据,但过滤器不工作,输出始终显示所有状态,无论是0、0还是2。。。我错过了什么
$sql="select a.*, b.*, d.*, e.*, f.*, j.*, k.*, DATE_FORMAT(a.tgldaftar,'%d %b %Y %H:%i') as tgldaftar,
DATE_FORMAT(a.tglkeluar,'%d %b %Y %H:%i') as tglkeluar , i.*
from daftar a
INNER JOIN pasien b ON a.noRM=b.noRM
INNER JOIN ranjang d ON a.idranjang=d.idranjang
INNER JOIN ruang e ON d.idruang=e.idruang
INNER JOIN kelas j ON e.idkelas=j.idkelas
INNER JOIN instalasi k ON e.idinstalasi=k.idinstalasi
INNER JOIN (select idjenispasien , jenispasien from jenispasien ) f ON a.idjenispasien=f.idjenispasien
INNER JOIN rujukan i ON a.idrujukan=i.idrujukan and a.status !=0 and a.status != 2";
if($paramcari != ""){
$sql.=" and b.nama like '%$paramcari%' ";
$sql.=" or j.namakelas like '%$paramcari%' ";
$sql.=" or e.namaruang like '%$paramcari%' ";
$sql.=" or b.idRM like '%$paramcari%' ";
$sql.=" or i.namars like '%$paramcari%' ";
$sql.=" or a.nodaftar like '%$paramcari%' ";
}
$sql.="ORDER BY a.tgldaftar ASC limit $start,15 ";
您的搜索条件
和a.status=0和a.status!=2
附加到最后一个内部联接条件。它应该处于where状态。将最后一个联接更改为
INNER JOIN rujukan i ON a.idrujukan=i.idrujukan
where a.status !=0 and a.status != 2";
还可以在搜索条件中添加大括号,因为和
的优先级高于或
if($paramcari != ""){
$sql.=" and (b.nama like '%$paramcari%' ";
...
$sql.=" or a.nodaftar like '%$paramcari%') ";
}
您的搜索条件
和a.status=0和a.status!=2
附加到最后一个内部联接条件。它应该处于where状态。将最后一个联接更改为
INNER JOIN rujukan i ON a.idrujukan=i.idrujukan
where a.status !=0 and a.status != 2";
还可以在搜索条件中添加大括号,因为和
的优先级高于或
if($paramcari != ""){
$sql.=" and (b.nama like '%$paramcari%' ";
...
$sql.=" or a.nodaftar like '%$paramcari%') ";
}
正确格式化代码会显示一些努力。将条件放入
WHERE
子句中,而不是像现在这样放入JOIN
条件中…正确格式化代码会显示一些努力。将条件放入WHERE
子句中,而不是像现在这样放入JOIN
条件中…我在描述这一点,你的答案是肯定的,所以我给它+1我在描述这一点,你的答案是肯定的,所以我给它+1