mysql条件忽略where子句

时间:2013-08-08 21:51:17

标签: php mysql

我正在尝试在joomla中执行一个mysql查询,其中在where子句中使用下拉中的第一个项目的变量请选择。我可以将下拉值设置为任何值。

myquery是这样的:

$db = JFactory::getDbo();
$m = $db->getQuery(true);
$m="SELECT group_concat(distinct m.email
SEPARATOR ', ' ) FROM member m, email e 
where m.club_name='{email___club_email}' ";
$db->setQuery($m);
$a = $db->loadresult();
var_dump($a);exit;
return $a;

现在我应该如何在此查询中放置一个子句,以便如果我选择“请选择”,则忽略语句中的where子句,或者我可以在结果集中以任何其他方式获取所有记录。

3 个答案:

答案 0 :(得分:1)

尝试使用where m.club_name LIKE '{email___club_email}'"之类的内容,并将“{1}}更改为”{select}“至value,因为%%

中的通配符

答案 1 :(得分:1)

您可以使用始终为真的内容,例如WHERE 1 = 1,它将返回所有记录。

答案 2 :(得分:1)

您可以将“请选择”选项的值设置为0,然后执行简单的if:

$m="SELECT group_concat(distinct m.email SEPARATOR ', ' ) FROM member m, email e"; 

if ($email) {
    $m .= " where m.club_name='{email___club_email}' ";
}