1

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

我的查询是这样的:

$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 子句将被忽略,或者我可以以任何其他方式在结果集中获取所有记录。

4

3 回答 3

1

尝试类似的操作where m.club_name LIKE '{email___club_email}'"并将value“请选择”更改%%中的通配符MySQL

于 2013-08-08T21:53:37.510 回答
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}' ";
}
于 2013-08-08T21:58:41.940 回答
1

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

于 2013-08-08T21:55:40.320 回答