2013-06-02 75 views
0

我如何才能使我的搜索表单仅列出其中hidden = '0'; +其余选项的结果?查询:哪里隐藏='0'

$stmt = $dbh->prepare(" 
SELECT * 
FROM  users u 
LEFT JOIN menues m 
ON   u.user_id = m.restaurant_id 
WHERE  (restaurant LIKE CONCAT('%', :term, '%')) 
OR   city LIKE CONCAT('%', :term, '%') 
"); 
$stmt->bindParam(":term", $term); 
$stmt->execute(); 

感谢提前:)

+4

添加'AND hidden ='0'有什么问题;'? –

回答

2

嗯,我希望我知道你需要什么:

$stmt = $dbh->prepare(" 
SELECT * 
FROM  users u 
LEFT JOIN menues m 
ON   u.user_id = m.restaurant_id 
WHERE  (((restaurant LIKE CONCAT('%', :term, '%')) 
OR   city LIKE CONCAT('%', :term, '%')) 
AND   hidden = 0) 
"); 
$stmt->bindParam(":term", $term); 
$stmt->execute(); 
+0

这是完美的队友谢谢! @infinity –

+0

我的荣幸〜:) – Infinity

2

难道你们就不能只是添加

AND hidden = '0' 

到年底你WHERE子句,以便您的查询结束

. 
. 
. 
WHERE (restaurant LIKE ... 
OR city LIKE ...) 
AND hidden='0' 

顺便说一下hidden真的是一个基于字符的列吗?如果没有,你应该加入hidden=0(不带单引号)