我正在尝试在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子句,或者我可以在结果集中以任何其他方式获取所有记录。
答案 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}' ";
}