PHP 从固定行搜索
PHP searching from fixed rows
我有病人 table,有 1000 多条病历。所有记录均由 5 位管理员创建。我使用 admin_id
列将患者 table 中的患者分开。当管理员“A”登录时,他只能看到他创建的那些患者。现在我想从 patient table 中搜索 patient。我的搜索结果将仅来自管理员“A”创建的患者记录;
MySQL查询:
SELECT
*
FROM
patient
WHERE
admin_id = 36 AND fname LIKE '%test%'
OR email LIKE '%test%'
OR mobile LIKE '%test%'
ORDER BY ID DESC
(这里我从所有记录中获取结果,但我只需要从 admin_id = 36 处获取结果。)
你必须把 OR 放在圆括号 () 两边,这样表达式只有在 admin_id
为 36 时才为真,其余的也为真
SELECT
*
FROM
patient
WHERE
admin_id = 36 AND (fname LIKE '%test%'
OR email LIKE '%test%'
OR mobile LIKE '%test%')
ORDER BY ID DESC
尝试:-
SELECT
*
FROM
patient
WHERE
(admin_id = 36 AND fname LIKE '%test%')
OR (email LIKE '%test%')
OR (mobile LIKE '%test%')
ORDER BY ID DESC
我有病人 table,有 1000 多条病历。所有记录均由 5 位管理员创建。我使用 admin_id
列将患者 table 中的患者分开。当管理员“A”登录时,他只能看到他创建的那些患者。现在我想从 patient table 中搜索 patient。我的搜索结果将仅来自管理员“A”创建的患者记录;
MySQL查询:
SELECT
*
FROM
patient
WHERE
admin_id = 36 AND fname LIKE '%test%'
OR email LIKE '%test%'
OR mobile LIKE '%test%'
ORDER BY ID DESC
(这里我从所有记录中获取结果,但我只需要从 admin_id = 36 处获取结果。)
你必须把 OR 放在圆括号 () 两边,这样表达式只有在 admin_id
为 36 时才为真,其余的也为真
SELECT
*
FROM
patient
WHERE
admin_id = 36 AND (fname LIKE '%test%'
OR email LIKE '%test%'
OR mobile LIKE '%test%')
ORDER BY ID DESC
尝试:-
SELECT
*
FROM
patient
WHERE
(admin_id = 36 AND fname LIKE '%test%')
OR (email LIKE '%test%')
OR (mobile LIKE '%test%')
ORDER BY ID DESC