我有两个表tbl_user
和tbl_barangay
。我使用inner join
来获取barangay表中的barangay_name
。我在is_employed
中有tbl_user
列,该列的数据类型是一个很小的整数。我使用1
表示有效,而0
表示无效。我的问题是当我搜索包括不活跃员工在内的行数据显示时。我尝试使用WHERE CLAUSE
来阻止不活动的员工显示,但它不起作用。我只想显示在职员工。我怎样才能做到这一点?有人可以帮我解决我的问题。
public function searchUser($keyword) {
$sql = "SELECT tbl_user.user_id, tbl_user.username, tbl_user.password,
tbl_user.first_name,tbl_user.middle_name,tbl_user.last_name,
tbl_barangay.barangay_name
FROM
tbl_user
INNER JOIN
tbl_barangay
ON
tbl_barangay.barangay_id = tbl_user.barangay_id
WHERE
tbl_user.is_employed = 1
AND
(username LIKE :keyword OR first_name LIKE :keyword OR middle_name
LIKE :keyword OR last_name LIKE :keyword OR barangay_name LIKE
:keyword)";
$stmt = $this->connection->prepare($sql);
$stmt->execute([
":keyword" => '%' . $keyword . '%'
]);
return $stmt->fetchAll();
}